2012-02-16 55 views
1

工作,我有按鈕不會在Chrome

<button name="foo" value="bar" onclick="submit()" >foobar</button> 

當我點擊Firefox中的按鈕,將值傳送(是富),我可以像閱讀以下值:

dim mode    : mode    = lcase(request("foo")) 

但是當我在Chrome中執行相同的操作時,該值爲空。

任何人都可以幫忙嗎?

+0

我沒有看到變量'mode'和名爲'foo'的按鈕之間的鏈接? – Widor 2012-02-16 16:12:08

+0

對不起,是我的錯。我編輯了這個問題。 – user897237 2012-02-16 16:27:17

+0

它不適用於我的Firefox :) – 2012-02-17 09:32:36

回答

1

您缺少一個報價。它應該是這樣的:

<button name="foo" value="bar" onclick="submit()" >foobar</button> 

此外,提交()是窗體上的方法,所以你必須確保你的按鈕內<form></form>標籤。

W3C specification

重要:如果您在HTML表單中使用的元素,不同的 瀏覽器可以提交不同的值。 Internet Explorer之前的版本爲 9,將會提交<button></button>之間的文本標籤,而其他瀏覽器則會提交的value屬性內容。使用 <input>元素在HTML表單中創建按鈕。

+0

對不起,只是錯字。我只是想提交表單(這項工作,只有值是空的)。按鈕是在form-tag中。 – user897237 2012-02-16 16:26:48

+0

請看我編輯 – NibblyPig 2012-02-16 17:01:44

0

你需要引用您的屬性:

<button name="foo" value="bar" onclick="submit()" >foobar</button> 

而且 「提交」 在JavaScript中的保留字。如果你有一個叫做「submit」的函數,它可能不起作用。

的保留字列表:http://www.javascripter.net/faq/reserved.htm

+0

對不起,只是錯字。我只是想提交表單(這項工作,只有值是空的)。 – user897237 2012-02-16 16:26:02

+0

submit()要求你指定一個表單引用:document.form1.submit() – 2012-02-16 16:26:56

4

不同的瀏覽器有不同的按鈕默認提交行爲。如果你想有一個按鈕,提交表單(並由此發佈其名稱和值對),你將不得不使用:

<button type="submit" name="foo" value="bar" >foobar</button> 

屬性爲button可以提交按鈕 ,或重置,除非明確指定,否則將因瀏覽器而異。

+0

嗨,謝謝你的反饋。我已經改變了它,但它仍然不發送VAL名稱對。 – user897237 2012-02-17 08:27:31

+0

剛剛在IE瀏覽器,Chrome瀏覽器和火狐瀏覽器中試用過它,並且它可以正常工作,所以必須與您的HTML有關。你的FORM標籤是什麼樣的? – 2012-02-17 16:12:47

0

如果您願意,Google或其他人可以更輕鬆地找到您的表單。將按鈕的標題和alt:

<button name="foo" title="submit" alt="submit for contact" valeu="" onclick="submit()" >foobar</button> 
0

從我記得,IE瀏覽器的舊版本(甚至8)只處理好老<input type="submit" />爲「真實」的提交按鈕時表單的一部分從而發送其值。所以在這樣的瀏覽器中<button>不會發送它的值。

更改HTML到這一點,就應該對所有的瀏覽器:

<input type="submit" name="foo" value="foobar" onclick="this.value = 'bar';" /> 

由於發送的值是可見的價值,我不得不使用JavaScript的伎倆在點擊更改值 - 據我知道,不能使用客戶端腳本。