如果没有处理表单,您将如何运行某个Javascript代码段?

时间:2011-09-18 02:16:36

标签: php javascript forms handle

我想在表单加载时运行一段Javascript。表单处理自己。当表单加载时,Javascript工作得很好,但是当提交表单并且页面自己处理时,Javascript就会破坏它。

有没有办法让Javascript只在没有处理表单时运行?

更新

处理表单时遇到此错误(Javascript正在执行AJAX请求):

  

TypeError:'undefined'不是对象   XMLHttpRequest无法加载[ajax请求URL] Access-Control-Allow-Origin

不允许原始[原始页面]

这是HTML:

<form method="#" action="post">
    <!--form elements-->
</form>

这是Javascript:

ajax.onreadystatechange=function() {
    if (ajax.readyState==4 && ajax.status==200) {
        document.getElementById("invitestar-message").innerHTML=ajax.responseText;
        var signup = document.getElementById("invitestar-content-container");
        setTimeout(function(){
            body.removeChild(document.getElementById('invitestar-verifying'));
            signup.style.display = "block";
        }, 500);
    }
}

ajax.open("GET","http://nvrforget.com/invitestar/check-invite/?invite=kNdqyJTjcf",true);
ajax.send();

此javascript运行的域不是http://nvrforget.com/

1 个答案:

答案 0 :(得分:2)

此错误:

XMLHttpRequest cannot load [ajax request url] Origin [original page] is not allowed by Access-Control-Allow-Origin
导致

是因为您无法对网页所在的其他域进行ajax调用。请参阅same-origin policy

的此说明

JSONP是一种进行跨源ajax调用的方法。它需要一个协作服务器(用于实现JSONP的服务器端)和一个将ajax请求添加为脚本标记的方法。像jQuery或YUI这样的库支持JSONP的客户端部分,或者您可以自己完成(但是您仍然需要一个协作服务器)。 Google JSONP如果您想了解更多信息。