制作表单's onsubmit仅适用于特定提交
Making form's onsubmit to work only for particular submits
在PHP程序中,我有JS函数来验证提交<form ...onsubmit='return isOK();'>
。它还可以。问题是我希望它只适用于特定提交,而不是所有提交。JS函数内部有没有任何方法可以找出按下了哪个提交,或者一些PHP技巧
instead of onsubmit u can use onClick.
<input type="submit" onclick="return pressSubmit1()" value="submit1" />
<input type="submit" onclick="return pressSubmit2()" value="submit2" />
<form action="action.php" method="post">
...
<input name="submit" type="button" value="check me" onclick="submitform('check')" />
<input name="submit" type="button" value="do not check me" onclick="submitform('not check')"/>
</form>
在javascript:中
function submitform(check)
{
if(check=='check') checkfrom();
}
在PHP
中
if($_POST['submit']=="check me")
checkform();
<form class="allowed" onsubmit='return isOK();'>
----
function isOK() {
if($(this).hasClass('allowed')) {
// Do stuff
}
}
您的问题不清楚,您使用的是单个提交按钮还是不同的按钮。如果您使用不同的提交按钮,那么您当然可以根据提交按钮的id进行检查。另一方面,如果是单个提交按钮,则取决于提交或不提交的条件
最好编写一些正在使用的HTML和Java脚本代码。所以,很容易纠正您在代码片段中所犯的错误。
我们可以使用PHP检查点击了哪个提交按钮。在表单提交对应的PHP页面中,编写
如果(extract($_POST)&;isset($submitbtn1)){
// some validation for first submit button
}elseif(摘录($_POST)&;isset($submitbtn2)){
// some validation for second submit button
}
注意:我们可以在提取函数中使用$后跟submit按钮名称。即$submitbtn1与$_POST['submitbtn1']相同
是的,不同的onclick看起来很好,正如接受的答案中提到的那样。但是在事件处理程序中,您应该代码如下。注意preventDefault。另外,由于submit是提交表单的按钮。您可以使用按钮类型而不是提交类型,因此不需要preventDefault。这是代码的链接http://jsbin.com/wikose/4/
function testlogin(){
event.preventDefault();
var test = 'not validated';
if(test === "validated")
alert("not valid login");
else
$('form').submit();
return false;
}
相关文章:
- AddEventListener适用于浏览器,但不适用于Android
- 查找仅适用于原始图像的图像放大算法的名称
- 如何在category.php中执行jquery,这应该适用于类别wordpress中的每个帖子
- Web编程,简单但适用于机器人项目
- JavaScript不适用于internet explorer和Firefox,但适用于谷歌
- Jquery事件处理程序仅适用于匿名函数
- jQuery调整大小函数只适用于窗口
- 火灾在卸载前确认警报仅适用于外部站点
- EmberJS-适用于各种模型的适配器动态名称空间
- Facebook共享链接适用于用户,但不适用于粉丝页面管理员
- jQuery-适用于移动设备的多级菜单
- 循环中的切换脚本只适用于第一次迭代
- 为什么setTimeout适用于无休止的递归调用
- 我未保存的更改指令需要适用于具有不同名称的所有表单
- 适用于多种浏览器的Selenium-需要能够执行javascript的webDriver
- Sails.js/Waterline.add()和.remove()仅适用于第二次调用
- javascript文档.提交并非适用于所有浏览器
- 制作表单's onsubmit仅适用于特定提交
- JQuery验证仅适用于提交的表单中的第一个元素.[打算验证所有内容]
- jQueryAjax请求仅适用于单个表单提交