在只调用了一次函数return false之后,表单并没有进行提交
form is not doing submit after calling function return false only one time
我正在尝试在验证用户输入后控制表单提交用户必须至少选择一个无线电,否则表单将不会提交
第一部分工作得很好,如果用户没有选择任何无线电输入,我称之为
$('form').submit(function () { return false });
否则,如果他选择了什么,我会称之为
$('form').submit();
但它没有提交
function validateSelection() {
var temp = false;
$('.lang-radio > input[type=radio]').each(function () {
if ($(this).is(':checked')) {
temp |= $(this).is(':checked')
};
});
if (temp != 1) {
$('form').submit(function () { return false });
$('.high-light').effect("shake");
}
else {
$('form').submit();
}
}
我正在从OnClientClick="validateSelect();"调用函数validateSelection我使用的是asp.net网络表单
进行时
$('form').submit(function () { return false });
您正在将事件处理程序附加到submit
事件。因此,如果这一行首先执行,那么每次执行$('form').submit();
时,都会触发事件处理程序并返回false而不提交。
如果.Net控件是一个提交按钮,您可以简单地将第一行替换为return false
(编辑:并将其更改为OnClientClick="return validateSelection();"
),否则您可以完全删除它。
1)从表单中删除OnClientClick="validateSelect();"
2) 将class="validateForm"提供给您的表单
3) 将以下js代码放入您的js 中
$(document).ready(function(){
$('.validateForm').on('submit',function(){
var ckradio = $(this).find('[type=radio]:checked');
if(ckradio.length == 0){
return false;
}else{
return true;
}
});
});
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 如果 a 为 false,则 if(a) === if(false)
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何将localStorage值设置为false
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- Javascript复选框函数:;缺少:在属性id之后"
- JavaScript-切换“;全部检查”;复选框true/false
- gulp Iconify任务抛出错误TypeError:Path必须是字符串.收到false
- 在刚刚调用的append函数之后,jquery.height()不会返回实际值
- 表单提交甚至在返回false jquery之后
- Backbone.js`isNew`在`model.save()`之后未返回`false`事件
- 即使在函数中将returnValue设置为False之后,控制器动作仍在执行
- Javascript:添加'false'在运行一个函数之后
- 在只调用了一次函数return false之后,表单并没有进行提交
- 为什么在这个内联事件处理程序之后使用return false和return true ?
- innerHTML在改变输入值之后不被更新(checked=true/false/“checked”)