【问题标题】:why does this not work in IE - form submit problem为什么这在 IE 中不起作用 - 表单提交问题
【发布时间】:2009-10-11 19:22:38
【问题描述】:

我可以在除 IE 之外的所有浏览器中使用此功能。为什么它不起作用?

Here is the site

表格代码在这里:

<FORM name ="frontpagequestion">
<input class="" type="text" name="questiontitle" value="ask your question and press enter" onfocus="if(this.value == 'ask your question and press enter') {this.value = '';}" onblur="if (this.value == '') {this.value = 'ask your question and press enter';}" size = "100">
<input type="submit" style="position: absolute; left: -9999px" onClick="process();return false">
</FORM>

Javascript 代码在这里:

function process(){
    var title = document.frontpagequestion.questiontitle.value;
    title = escape(title); 

    $.cookie("INPUTBOX",title);

    window.location = "/questions/ask";
}

在 IE 中 - 它只是返回主窗体,不提交输入框值。

有什么想法吗?

【问题讨论】:

  • 您的网站是堆栈溢出的总副本还是什么?抄袭对网络有害!!!

标签: javascript forms


【解决方案1】:

更改 URL 的正确调用是 window.location.href = "[url]", AFAIK。

【讨论】:

    【解决方案2】:

    仅仅是因为IE没有在提交按钮上执行onClick事件。如果您从问题框中选择它,它会按预期工作。

    您应该为

    标签尝试 onSubmit 事件。这应该适用于所有浏览器。

    【讨论】:

    • 嗨 Roosmaa 不幸的是,这没有用 - 我在有和没有返回 false 的情况下绑定 onSubmit 并且它失败了。您对隐藏的提交按钮并按回车键是正确的 - 有效 - 有没有办法在 javacript 中模拟这个: - 伪代码:在按键输入 - 如果 IE - 选项卡提交字段 - 点击
    【解决方案3】:

    我注意到了几件事。

    a) 提交按钮上的点击事件返回 false。返回 false 会取消事件的默认操作,因此在这种情况下返回 false 意味着不提交表单。

    b) 您的脚本设置了 window.location,这将立即导致浏览器加载新页面,并且根本不提交表单。

    【讨论】:

    • 但它可以在 FF、Chrome 和 Safari 中正常运行,所以我有点困惑为什么它在 IE 中不起作用?
    • Firefox 有什么功能?据我所见,浏览器只是重新加载 /questions/ask 作为 URL。是什么让您认为表单已提交?
    • 当您在输入框中按回车键时,它会将您带到问题/提问页面,并将内容添加到除 IE 之外的所有浏览器中的“问题标题”字段中
    猜你喜欢
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 2010-11-30
    相关资源
    最近更新 更多