2つのボタンsave & continue
とsave and exit
の2つのフォームがあります。私はこれらのボタンに2つのID、つまりそれぞれsave_cont
とsave_exit
を与えました。ajaxは複数回クリックします。
最初のボタンは正常に動作しますが、2番目のボタンをクリックすると、最初のボタンのajaxも発生します。その結果、URLをリダイレクトできず、ページがリロードされます。ボタンの
//Save and Continue
$('#save_cont').click(function() {
$.ajax({
url: 'demo_save_data',
type: 'POST',
data: $("#add_seasonal_discount").serialize(),
success: function(result) {
if (result.success > 0) {
alert("Save and Continue");
window.location.reload();
}
}
});
});
//Save and Exit
$('#save_exit').click(function() {
$.ajax({
url: 'demo_save_data',
type: 'POST',
data: $("#add_seasonal_discount").serialize(),
success: function(result) {
if (result.success > 0) {
alert("Save and Exit");
window.location = 'demo_seasonal_discount_newpage_report.php';
}
}
});
});
$("#save_cont").unbind("click");
HTML::
public function demo_save_data() {
DB::table('demo_table') ->
insert([
'invoice_type' => Input::get('invoice_type'),
'sales_channel' => Input::get('pricing_group'),
'material' => Input::get('matnr'),
'from_date' => Input::get('fromdt'),
'to_date' => Input::get('todt'),
'discount' => Input::get('discount'),
'bukrs' => Session::get('company')
]);
return array('success' => 1);
}
EDIT:私のコントローラ内部
<div class="form-group col-md-12 required">
<button title="Save" id="save_cont" class="scl_issave a-link btn scl-btn-clasic scl-btn-margin-v" type="button">Save & Continue</button>
<button title="Save" id="save_exit" class="scl_issave_exit a-link btn scl-btn-clasic scl-btn-margin-v" type="button">Save & Exit</button>
</div>
demo.discount.blade.phpインサイド
は終わり、$("#save_cont").unbind("click");
を追加しました。今すぐ2番目のボタンsave_exit
は正常に動作しますが、最初のボタンsave_cont
はまったく動作しません。
要求された編集が行われました – user9141607
[Ajaxの重複した可能性があります。クリックで複数のリクエストを防止](https://stackoverflow.com/questions/18775455/ajax-prevent-multiple-request-on-click) – rahulsm
あなたの最初のアヤックスリクエストについての気持ちは悪いです。おそらく、サーバー側で行われたリダイレクトのようなものかもしれません。最初のクリックイベントが発生したことをどのように確認しますか? –