我设计了一个基于AJAX的留言箱。 http://businessgame.be/shoutbox.phponsubmit函数没有被调用
该脚本在google chrome中完美运行,但其他浏览器并不像我所期望的那样行事。
要发出一条新消息,有一个表单拥有一个输入文本字段。当按下回车键时,表单正在提交,所以我没有提交按钮,因为按下回车键就足够了。
<form method="POST" action="" onsubmit="javascript: return shout();" enctype="multipart/form-data">
<input type="text" style="width: 100%;" name="txtShout" id="txtShout" maxlength="600" autocomplete="off" title="Shout!" placeholder="Shout!">
</form>
喊功能如下:
function shout() {
alert("test");
// Post shout and clear textField
if(getLength("txtShout")) {
AjaxUpdate("./includes/shout.php?message=" + getItemValue("txtShout"), refreshShoutBox);
setItemValue("txtShout", "");
}
// Stop submit
return false;
}
通常情况下,脚本应该叫喊声功能,AJAX将发送添加的喊了一声,这样的形式不返回错误的请求得到提交。
但是除了Chrome浏览器之外的所有浏览器中,无论如何都要提交表单。我在函数中加入了一个alert()来检查它是否被调用或编码错误,但是没有显示警报。
你有没有试过onsubmit =“return shout();”没有'javascript:'? – Corbin
是的,这并不能解决问题。警报甚至没有显示,所以我猜浏览器只是跳过onsubmit声明... 我也尝试将函数更改为仅警报,但它不起作用:/。 –
在这种情况下,听起来像你应该用Firebug检查它。您可以使用Firebug的控制台来查找JavaScript错误。 – Corbin