gpt4 book ai didi

javascript - 表单在 Chrome/FF 中正确提交,但在 IE/Safari 中完全失败

转载 作者:行者123 更新时间:2023-11-27 22:51:24 24 4
gpt4 key购买 nike

我有一个带有 CSS 提交按钮的表单。单击提交按钮时,我调用一个函数来执行:

document.forms["request"].onsubmit();

然后,应该触发 onsubmit 方法。这在 Chrome/FF 中正常工作,但出于某种原因,IE/Safari 将绕过 onsubmit 函数并简单地将参数“address=”添加到 url 上,就好像它正在提交表单并忽略 onsubmit 函数一样。这是表单的代码:

      <form id="request" method="get" onsubmit="addLocation(this.address.value); return false;">
<br>
<label style="position:relative;left:5px;" for="address">Enter an intersection or address:
</label>
<br>
<br>
<input style="height:35px; width:300px;position:relative;bottom:1px;left:10px;" id="address" name="address" class="required address"/>
<a style="float:right;right:120px;position:relative;" class="button" onclick="submit();">
<span>Submit Request
</span>
</a>
</form>

下面是一些相关的js函数:

function addLocation(address) {
if (geocoder) {
geocoder.getLocations(address, function (point) {
if (!point) {
alert(address + " not found");
} else {
if (point.Placemark[0].address != submittedString) {
submittedString = point.Placemark[0].address;
addRow(point.Placemark[0].address);
req = "addrequest?truck=" + "coolhaus&address=" + point.Placemark[0].address;
alert(req);
addRequest(req);
request.onreadystatechange = function () {}
}
}
});
}
}

function addRequest(req) {
try {
request = new XMLHttpRequest();
} catch (e) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("XMLHttpRequest error: " + e);
}
}
request.open("GET", req, true);
request.send(null);
return request;
}

你可以在这里测试表单:

http://la.truxmap.com/request?id=grillmastersla

非常感谢!

最佳答案

不要将您的函数命名为“提交”,表单中已经有一个同名的方法,因此它可能会与之冲突。

您可以调用submit 方法来提交表单,而不是onsubmit 事件。因此,您发布表单的代码应该是:

document.forms["request"].submit();

关于javascript - 表单在 Chrome/FF 中正确提交,但在 IE/Safari 中完全失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2619994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com