Javascript 表单在不应提交时提交';不行

Javascript 表单在不应提交时提交';不行,javascript,Javascript,我的JSFIDLE应用程序有问题。当您打开小提琴时,您将看到一个文本区域,请按照以下步骤操作(在除IE以外的任何borwser中): 1:在文本区域中键入问题 2:点击“添加问题”按钮。您输入的问题将附在下表中 3:删除下表中刚添加的文本区域中的所有文本 4:现在点击下面的“提交详细信息”按钮 现在,正如您所看到的,它正在尝试提交详细信息并进入一个新页面。这不应该发生,因为我在验证函数中声明,如果表中附加的textarea为空或“”,则会显示一条警告,说明“请输入有效问题”。即使问题有效,也应显

我的JSFIDLE应用程序有问题。当您打开小提琴时,您将看到一个文本区域,请按照以下步骤操作(在除IE以外的任何borwser中):

1:在文本区域中键入问题

2:点击“添加问题”按钮。您输入的问题将附在下表中

3:删除下表中刚添加的文本区域中的所有文本

4:现在点击下面的“提交详细信息”按钮

现在,正如您所看到的,它正在尝试提交详细信息并进入一个新页面。这不应该发生,因为我在验证函数中声明,如果表中附加的textarea为空或“”,则会显示一条警告,说明“请输入有效问题”。即使问题有效,也应显示一个确认框,说明是否继续


单击“提交”按钮时,它应该跟随“myClickHandler”,但为什么不这样做呢?

计划a:

$("#addQuestionBtn").click(function(event) {
    event.preventDefault();
    ...
});
方案b:

$('#enter').submit(function() {  
    ....  
    return false;  
});
在末尾添加“return false;”

引用:

$("#addQuestionBtn").click(function(event) {
    event.preventDefault();
    ...
});

事件处理程序可以绑定到表单:

$('#target').submit(function() {  
    alert('Handler for .submit() called.');  
    return false;  
});
现在,当表单提交时,消息将发出警报。这发生在实际提交之前,因此我们可以通过调用事件对象上的.preventDefault()或从处理程序返回false来取消提交操作。我们可以在单击另一个元素时手动触发事件:

用于取消表单提交


顺便说一句,你的意思可能是
textAreaO.length
,而不是
textAreaO.value.length
抛出
TypeError

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";

为什么要这样混合使用纯JavaScript和jQuery?因为我在另一个php文件中执行了类似的验证功能,但我正在处理的文件中的用户JavaScript现在包含jQuery。