我有一個應用程序生成一個'action'屬性的元素。我需要更改action屬性的值,但不可能這樣做。然而,它是可能產生的一個正是如此前再添加一個「動作」屬性:可以重複一個HTML表單動作屬性嗎?
這似乎是爲IE瀏覽器。我想知道這種行爲是否在w3c標準中定義,以及我是否可以依賴瀏覽器選擇第一個操作屬性。我搜索了標準文檔了一下,但無法確定重複屬性的規則。
謝謝。
我有一個應用程序生成一個'action'屬性的元素。我需要更改action屬性的值,但不可能這樣做。然而,它是可能產生的一個正是如此前再添加一個「動作」屬性:可以重複一個HTML表單動作屬性嗎?
這似乎是爲IE瀏覽器。我想知道這種行爲是否在w3c標準中定義,以及我是否可以依賴瀏覽器選擇第一個操作屬性。我搜索了標準文檔了一下,但無法確定重複屬性的規則。
謝謝。
該規範聲明表單上只能有一個action
屬性。
這很有意義,因爲action屬性指定了表單數據將發佈到的頁面,並將其發佈到兩個不同的頁面上並不合理(您如何從多個頁面查看結果?)。
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
<!ATTLIST FORM
%attrs; -- %coreattrs, %i18n, %events --
action %URI; #REQUIRED -- server-side form handler --
method (GET|POST) GET -- HTTP method used to submit the form--
enctype %ContentType; "application/x-www-form-urlencoded"
accept %ContentTypes; #IMPLIED -- list of MIME types for file upload --
name CDATA #IMPLIED -- name of form for scripting --
onsubmit %Script; #IMPLIED -- the form was submitted --
onreset %Script; #IMPLIED -- the form was reset --
accept-charset %Charsets; #IMPLIED -- list of supported charsets --
>
你會看到action屬性是一個。要求,b。沒有多重說明符,這意味着它應該只存在一次。
這可能只是偶然的,這在IE中起作用。行爲沒有被定義,另一個瀏覽器可能會扼殺這個輸入或決定選擇一個隨機行爲屬性。
+1俄德的答案:d
順便說一句,如果你要編輯原始action
,也許你可以嘗試使用javascript:
$("#your_form").attr("action", "something_else"); // in jQuery