php - 一个表单,多个提交onclick事件

时间:2015-06-10 15:18:11

标签: submit form-submit

我有一个带有两个提交按钮的表单,在代码后面我得到了每个提交的值,但问题是当我在每次提交时添加一个javascript onclick事件,当我尝试在PHP中检索值时我什么都没得到。只有在我不使用事件时才能获得输入提交值。

我没有从此代码中获取输入提交值:

<input type="submit" id="send1" value="Send1" name="sub1" onclick="validate1();"/>
<input type="submit" id="send2" value="Send2" name="sub2" onclick="return validate2();"/>

这个有效:

<input type="submit" id="send1" value="Send1" name="sub1" />
<input type="submit" id="send2" value="Send2" name="sub2" />

2 个答案:

答案 0 :(得分:1)

这是一个快速设置,可以做你想要的 https://jsfiddle.net/d090618g/

您的HTML

 <form id="theform">

    <input type="submit" name="s1" /> 
    <input type="submit" name="s2" />

    <input type="hidden" name="clicked" id="clicked" />

</form>    

<div id="result"></div>

快速JQuery

var $form    = $("#theform");
var $clicked = $("#clicked");

$form.find( "input[type='submit']").click( function(){
    $clicked.val( $(this).attr('name') );
});

$form.submit( function( e ){
    e.preventDefault();

    switch( $clicked.val() ){

        case 's1':
            alert( "Do thing 1" );
            return;

        case 's2':
            alert( "Do thing 2" );
            return;
    }

    //post your form to PHP here        

    $("#result").html( $clicked.val() );

});

答案 1 :(得分:0)

我找到了解决方案。如果无法发布禁用按钮的值,那么我只是添加一个隐藏字段,其中包含一些标识单击提交按钮的值。

<input type="hidden" id="my_post_value" name="my_post_value"/>