2011-06-29 156 views
1

我在一個簡單的JavaScript程序,根據其網站的用戶感興趣的酒評搜索上的一個或幾個網站工作。問題window.open命令

我的問題是,window.open命令只打開用戶選擇的第一個網站,似乎無法打開其他網站。此外,通過列出的網站的網址滾動後,我得到一個錯誤消息說:405 - 不允許的方法

您可以檢查程序進行:http://www.divinocards.com/search_engine_4.htm

我已經花了幾個小時試圖找出爲什麼該程序停滯不前。我已經使用了調試器,似乎所有的值都被正確地賦值了。這只是我無法打開多個窗口。對於彈出窗口阻止程序來說,這似乎不是問題,或者我暫時禁用了這些功能。

任何幫助將不勝感激。

真誠, OB

回答

1

變化從submitinputtype屬性button(爲inputname="Find",事實上,所有input是你們等通過JavaScript專門使用,即不是做一個真正的提交到服務器)。

更多詳細信息 - 您的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. 

所以,在最後這取決於特定的瀏覽器來決定在這裏做什麼(實現的細節,不是你想依靠)。

+0

這就是它!非常感謝你的幫助。所有這些時間花在思考問題上,這只是一個簡單的「按鈕」問題。你搖滾! – ORB

+0

@ORG好,很高興幫助! –

0

如果您只想打開目標窗口,則可以刪除<form>標記,並將click事件添加到查找按鈕。

<input>標籤的類型屬性按鈕不能阻止形式使用按enter在文本字段

提交您還可以禁用onsubmit活動形式。

document.forms[0].onsubmit = function(){return false;}