php - 一个表单,多次使用 onclick 事件提交
php - one form, multiple submits with onclick event
我有一个带有两个提交按钮的表单,在后面的代码中我从每个提交中获取了值,但问题是当我在每个提交上添加一个 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" />
这里有一个快速设置,可以执行您想要的操作
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() );
});
我找到了解决办法。如果无法发布禁用按钮的值,那么我只是添加一个隐藏字段,其中包含一些标识单击的提交按钮的值。
<input type="hidden" id="my_post_value" name="my_post_value"/>
我有一个带有两个提交按钮的表单,在后面的代码中我从每个提交中获取了值,但问题是当我在每个提交上添加一个 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" />
这里有一个快速设置,可以执行您想要的操作 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() );
});
我找到了解决办法。如果无法发布禁用按钮的值,那么我只是添加一个隐藏字段,其中包含一些标识单击的提交按钮的值。
<input type="hidden" id="my_post_value" name="my_post_value"/>