从外部Javascript禁用表单操作字段

时间:2015-05-21 11:12:25

标签: javascript html forms

我有一个带action="result.php的html表单。 现在的问题是,我希望我的表单只有在我的javascript中的某些函数返回result.php时才进入true并且我有这个来实现这一点,

function init() {
    var form1 = document.getElementById("test");
    if (validat() == true){
        form1.onsubmit = validatequiz;
    }   
}

window.onload = init;

validat函数返回truefalse,所以在上面的函数中我检查它的返回值并执行onsubmit,但即使值返回我的validate()函数为false,我仍然被重定向到result.php,我不想这样做。

问题是,操作是在html文件中设置的,我正在检查外部javascript文件中的表单,我不允许在html文件中使用内部javascript,这就是为什么我遇到这个问题。

1 个答案:

答案 0 :(得分:1)

您的Javascript没有做任何事情来阻止提交操作完成。要停止提交表单,您需要使用

在Javascript中明确停止它
return false;

event.preventDefault();
  

问题:如何阻止浏览器的默认操作?   JavaScript事件处理程序?

     

答:在JavaScript的早期,要防止默认   对一个事件的回应,你可以简单地从错误中重新出现错误   各个事件处理程序例如,从一个返回false   onsubmit事件处理程序会阻止浏览器提交   形成;从链接的onclick事件处理程序返回false会   阻止浏览器关注链接。在大多数现代浏览器中   像上面这样的行为仍然有效;但是,现在还有更多   支持的事件类型,实际行为可能取决于   浏览器和事件类型。