【发布时间】:2016-07-20 00:50:34
【问题描述】:
这是我的代码。我已经尝试过使用 jquert 发布的多种其他方法,但我一定没有正确编写它。我不确定如何将其应用于我的代码。但是在未填写输入时需要禁用第二个提交按钮。
【问题讨论】:
-
如果可以的话,你能不能尝试不嵌套表单,因为这被认为是一种不好的做法
-
@Satya:你在哪里看到表单嵌套?
这是我的代码。我已经尝试过使用 jquert 发布的多种其他方法,但我一定没有正确编写它。我不确定如何将其应用于我的代码。但是在未填写输入时需要禁用第二个提交按钮。
【问题讨论】:
我将您的“第二个”按钮类型更改为 button 而不是 sumbit。
我删除了属性disabled。
您需要检查所有输入,结果将决定是否必须提交表单。
<input type="hidden" name="submit" value="Submit">
<input type="button" id="button" value="Submit">
</form>
<script>
$("#button").click(function(){
var flag=true;
// check all input values
$("input[type='text']").each(function(){
if( $(this).val()=="" ){
flag=false;
}
});
// submit the form
if(flag){
$("form#input").submit()
}else{
// You should do something here.
alert("Please fill all inputs!");
}
});
</script>
如果flag 为假,你应该想想怎么办...
比如通知用户他必须填写所有输入。
注意:将 jQuery 库加载到您的 head 中以使其工作。
评论您的“命名”...
使用带有input 或button 的名称、类或ID 可能会造成混淆。
尝试使用与方法或 HTML 标记不同的描述性词语。
;)
【讨论】:
alert() 是一个触发警报框的 JavaScript 函数。有多种方法可以通知用户错误...取决于您想要做什么。 alert() 是最简单的...使用SweetAlert 可以实现更好的警报。
使用 JQuery 函数
$('form').submit(function(e){
var i=Number(0);
$('input').each(function(){
if($(this).val() == '')
i++;
});
if(i>0)
{
e.preventDefault();
}
});
【讨论】: