1

我正在开发一个简单的 javascript 程序,该程序根据用户感兴趣的网站在一个或多个网站上搜索葡萄酒评论。

我的问题是 window.open 命令只打开用户选择的第一个网站,似乎无法打开其他网站。此外,滚动浏览列出的网站的网址后,我收到一条错误消息:405 - Method Not Allowed

您可以在以下位置查看该程序:http ://www.divinocards.com/search_engine_4.htm

我花了几个小时试图弄清楚程序为什么会停滞不前。我已经使用了调试器,似乎所有值都被正确分配了。只是我无法打开多个窗口。弹出窗口阻止程序似乎也不是问题,因为我暂时禁用了这些。

任何帮助将不胜感激。

真诚的,OB

4

2 回答 2

1

把from的type属性改成to (for with and,其实就是所有你通过JavaScript独占使用的s,即不做真正的提交到服务器)。inputsubmitbuttoninputname="Find"input

更多细节 - 你form没有action属性。看看这里:

当您单击“查找”按钮时,当前代码中发生的情况是您正在提交到未知位置。按照标准:

此属性是必需的(请参阅第 17.3 节 FORM 元素)。

该部分中的详细信息还解释了为什么它重定向到“无处”:

action = uri [CT]
    This attribute specifies a form processing agent. User agent behavior for a value other than an HTTP URI is undefined.

因此,最终由特定的浏览器决定在这里做什么(实现细节,而不是您想要依赖的东西)。

于 2011-06-29T01:49:10.550 回答
0

如果您只想打开一个目标窗口,您可以删除您的<form>标签,并click在查找按钮上添加一个事件。

<input>标签的类型属性设置为按钮不能阻止通过enter在文本字段中使用按下来提交表单

您还可以禁用onsubmit表单的事件。

喜欢

document.forms[0].onsubmit = function(){return false;}
于 2011-06-29T03:18:40.810 回答