2017-08-28 1 views
0

** halloyii2 ajax einreichen individuelle Form nichts tun

ich will meine Form Wert mit Ajax vorlegen ich in meiner Ansicht Datei in modal modal habe ich eine benutzerdefinierte Form gebaut, um meine Daten zu einer Aktion einreichen **

<?php 

use yii\bootstrap\Modal; 
use yii\helpers\Html; 
use yii\helpers\Url; 

Modal::begin([ 
    'header' => 'روز تخمینی برای اتمام پروژه انتخاب کنید', 
    'id' => 'modal-accept', 
    'size' => 'modal-sm', 
    'clientOptions' => [ 
    'backdrop' => 'static', 
    'keyboard' => false, 

    ], 
]); 

?> 
<div id="modal-content"> 
<form method="post" action="<?= Url::to(['admin/site-developer/accept-task'])?>" id="modal_form"> 

    <?php 
    echo jDate\DatePicker::widget([ 
      'name' => 'datepicker', 
      'id' => 'estimate', 
     ]); 

    ?> 
    <?= Html::submitButton('submit',['class' => 'btn btn-sm btn-success']) ?> 
</form> 

</div> 

<?php 
Modal::end(); 
?> 

für meinen Wert und senden das Ergebnis ich diese Funktion erhalten ,,, aber wenn ich werde keine ajax-Aufruf klicken Sie auf Absenden ausführen nichts passiert, warum ich jede Netzwerk-Aktivität kann nicht in meinem Browser überprüfen ..

$('#modal_form').on('beforeSubmit', function(e) { 
    var form = $(this); 
    var formData = form.serialize(); 
    $.ajax({ 
     url: form.attr("action"), 
     type: form.attr("method"), 
     data: formData, 
     success: function (data) { 
      console.log("successfull"); 
     }, 
     error: function() { 
      alert("Something went wrong"); 
     } 
    }); 

}).on('submit', function(e){ 
    e.preventDefault(); 
}); 

irgendein Vorschlag?

+0

sind Sie sicher, dass in dem jQuery-Code gehen? Versuchen Sie, vorher etwas aufmerksam zu machen und zu senden, und öffnen Sie "check elements" mit Ihrem Browser und prüfen Sie, ob ein jquery-Fehler gedruckt wurde und lassen Sie es mich wissen. –

+0

Gabriele Carbonai i checked Seite Quelle i mein Skript sehen .. i alarmiert, bevor sumbit aber nicht Alarm ... ich es Konsole Alart in Browser setzen auf übermittle ich habe keine Fehler – moh

+0

aber WHYY ??? : | – moh

Antwort

1

Sie müssen nicht vor dem submsision verwenden, das ist das Problem

$('#modal_form').on('submit', function(e){ 
    e.preventDefault(); 
    var form = $(this); 
    var formData = form.serialize(); 

    $.ajax({ 
     url: form.attr("action"), 
     type: form.attr("method"), 
     data: formData, 
     success: function (data) { 
      console.log("successfull"); 
     }, 
     error: function() { 
      alert("Something went wrong"); 
     } 
    }); 
    return false; 

}); 
+0

aber Browser wird gehen, um Aktionsadresse zu bilden und diese Seite zu machen ich will es nicht – moh

+0

hast du den ganzen Code kopiert, den ich gepostet habe? –

+0

gut es hat funktioniert! – moh