我的jsfiddle应用程序click here存在问题。当你打开小提琴然后你会看到一个textarea,请按照下面的步骤(在任何borwser但IE浏览器):
1:在textarea中输入问题
2:点击“AddQuestion”按钮。您输入的问题将附在下表中。
3:删除刚刚在下表中添加的textarea中的所有文本
4:现在点击下面的“提交详细信息”按钮。
现在您可以看到它正在尝试提交详细信息并进入新页面。这不应该发生,因为我在验证函数中声明如果表中附加的textarea为空或“”,则显示一条警告,说明“请输入有效问题”。即使问题有效,也应显示一个确认框,说明您是否要继续。
当点击提交按钮时,它应该跟随“myClickHandler”,但为什么不这样做呢?
答案 0 :(得分:0)
计划a:
$("#addQuestionBtn").click(function(event) {
event.preventDefault();
...
});
计划b:
$('#enter').submit(function() {
....
return false;
});
添加“return false;”最后
<强>引用强>
事件处理程序可以绑定到表单:
$('#target').submit(function() {
alert('Handler for .submit() called.');
return false;
});
现在提交表单时,会提示消息。这在实际提交之前发生,因此我们可以通过在事件对象上调用.preventDefault()或从我们的处理程序返回false来取消提交操作。我们可以在单击另一个元素时手动触发事件:
答案 1 :(得分:0)
答案 2 :(得分:0)
validate()函数中的textAreaO变量可能包含选择中的多个项目。遍历每个项目并对每个项目进行检查:
var isValid = true;
$(textAreaO).each(function() {
isValid = isValid && //insert your validation check here;
});
if(!isValid) alertValidation += "\nYou have not entered a valid Question\n";