我在使用javascript和jquery时使用表单提交脚本时出现问题 - 我已将其加载到facebook标签中,该标签在提交时应将变量传递给另一个标签。
它适用于 ie9 , chrome , ff 和 safari ,但客户端仍然停留在 ie 7和8 。我不知道问题是什么 - 我尝试用div替换按钮,图像包含 .click 不会覆盖提交功能。
这应该是修复的常见问题?或者我在做什么完全错了?
<script>
$('document').ready( function(){
$('#my_button').click(function (e) {
//this.form.onsubmit();
var_app = "444444";
url = "http://www.facebook.com/tab/?sk=bladadasd&app_data=" + var_app;
parent.window.location.replace(url);
e.preventDefault();
return false;
});
});
</script>
<form id="submit" method="POST" >
<ul>
<li><span>Photo code <sup class="required">*</sup></span><input id="barcode" name="barcode" type="text"/></li>
<li><span>First name</span><input id="firstName" name="firstName" type="text"/></li>
<li><span>Last name</span><input id="lastName" name="lastName" type="text"/></li>
<li><span>Email address</span><input id="optional_email" name="optional_email" type="text"/></li>
</ul>
<a class="help">Need help?</a>
<input value="" type="submit" id="my_button" />
</form>
在正常浏览器中将表单弹回到正确的页面,但在 ie8 中,它只是提交自己无处可见并再次显示相同
答案 0 :(得分:1)
如果是提交按钮,那么您应该使用onsubmit
甚至在该表单上。
P.S。为什么你的var_app
变量在全球范围内?
答案 1 :(得分:1)
尝试提交事件而不是点击事件。
$('#my_button').submit(function(event) {
event.preventDefault();
});
您也错过了表单的操作。
我想知道你是否也应该指定script type
答案 2 :(得分:1)
声明 var_app &amp; 网址变量。
var var_app = "444444";
var url = "http://www.facebook.com/tab/?sk=bladadasd&app_data=" + var_app;
答案 3 :(得分:0)
错误在于
行parent.window.location.replace(url);
Internet Explorer只允许以下语句,并会抛出权限错误
parent.location.replace(url);
与jquery或我的表单语法无关:(当我在ie7中的另一台机器上运行代码时才意识到这一点