我有一个php表单,需要两个提交按钮。一个使用ajax(工作)提交表单,但现在我需要添加另一个按钮来完成销售。
我目前的方法是添加另一个提交按钮以形成&试图在javascript中区分这两者(我不知道该怎么做)。
所以任何帮助都会受到赞赏或者其他任何推荐的方法。
php表单
<form id="bidForm">
<div class="form-group" id="divCheckbox" style="visibility: hidden">
{{ Form::hidden('item_id', $item->id) }}
{{ Form::hidden('user_id', Auth::User()->id) }}
</div>
<!-- bid -->
<div class="form-group" style="width: 100px" style="text-align: right">
{{Form::label('bid_amount', 'Bid:') }}
{{Form::text('bid_amount', null, ['class' => 'form-control', 'id' => 'bid-amount']) }}
</div>
<!-- max bid
<div class="form-group">
{{Form::label('max_bid', 'Max Bid:') }}
{{Form::text('max_bid', null, ['class' => 'form-control']) }}
</div> -->
{{ Form::hidden('permission', "userr") }}
<!-- submit`` -->
<div class="form-group">
{{Form::submit('Bid', ['class' => 'btn btn-primary', 'id' => 'submit']) }}
</div>
{{ Form::close() }}
脚本
$( "#bidForm" ).submit(function( e ) {
// Async submit a form's input.
e.preventDefault();
var form = $(this);
var method = 'POST';
var url= "/items/" + {{ $item->id }};
//var bid = $("#winner").innerHTML().val();
var bid = document.getElementById("winner").innerHTML;
var new_bid = $("#bid-amount").val();
bigger = (new_bid > bid) ? true : false;
console.log('');
if(bigger){
$.ajax({
type: method,
url: url,
data: form.serialize(),
action:"http://localhost:8000/items" + {{ $item->id }},
success: function(data) {
console.log("AJAX request was successfull");
$('#bid-amount').val('');
},
failure: function() {
console.log("AJAX request failed");
}
});
}
else{
window.alert("This is not a high bid");
}
});
答案 0 :(得分:1)
ClickCoder的回答here的实现可以解决您的问题。
编辑:
好的,您可以使用提交按钮执行以下操作:
{{Form::submit('Bid', ['class' => 'btn btn-primary submit', 'id' => 'bid']) }}
{{Form::submit('Complete Sale', ['class' => 'btn btn-primary submit', 'id' => 'sale']) }}
然后在JS中区分它们:
$('.submit').on('click', function(e){
//When a submit is clicked
e.preventDefault();
//prevent submit button default action
var $token = $(this).attr('id');
//get the id of the submit
if($token == 'bid'){
//If the clicked submit has an id of bid - Do Ajax stuff
}else{
//Do sale stuff
}
});