请在一个表单中提供与javascript函数相关的多个提交按钮

时间:2015-03-19 12:23:35

标签: javascript php jquery ajax laravel

我有一个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");

    }

});

1 个答案:

答案 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
}
});