2016-08-25 148 views
0

這裏以外上傳值在[HTML]如何如果<fieldset>標籤是<form>標籤

元件是HTML代碼:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Javascript</title> 
    </head> 
    <body> 
     <form action="/check" id="demo" method="post" name="demo"> 
      <input type="text" name="username" />username 
      <button type="button" 
       onclick="form.change_color.style.backgroundColor='#00FF00';">change 
       fieldset background</button> 
      <button type="button" 
       onclick="activateFieldset()">activate fieldset</button> 
      <input type="submit" value="submit" /> 
     </form> 
     <fieldset form="demo" name="change_color"> 
      <input type="password" name="password" />password 
     </fieldset> 
     <fieldset form="demo" disabled="disabled" name="license" id="license"> 
      <input type="text" name="license_id" />license_id 
     </fieldset> 
     <script> 
      function activateFieldset(){ 
       var e = document.getElementById("license"); 
       e.disabled = ""; 
      } 
     </script> 
    </body> 
</html> 

我填寫abcusernamechange_colorlicense_id文本框,但瀏覽器只能上傳username中的數據。

我試過Chrome/Opera/Firefox,它們都是這樣工作的。

誰能告訴我爲什麼瀏覽器不上傳元素中的數據?

非常感謝!

+3

因爲你正在嘗試是不正確的。如果你想要在表單中傳遞元素,那麼他們需要在表單標籤中。他們不能在外面。另一種方法是使用JS構建數據,然後發佈它。 – haxtbh

+0

_「有誰能告訴我爲什麼瀏覽器不會上傳元素中的數據嗎?」 - 出於同樣的原因,郵局無法將您放置的下一張紙放在您發送的letter_下面...表單是被提交的內容,只有表單中的元素被髮送。這就是形式_work_;一切都沒有意義。 – CBroe

+0

明白了,謝謝@ haxtbh –

回答

1

不像一些評論者的狀態,這是非常可能有reassociateable elements形式,線槽採用明確FORM屬性,根據HTML5 RFC(雖然我同意,這是更好的將它們全部組合的表格內)。

而就你的情況而言,儘管你已經在字段集中指定了form屬性,但碰巧必須具有form屬性的元素是INPUT屬性。

+0

是的,Santi,U R正確,我改變了我的代碼,就像你說的一樣,而且效果很好:) –

+0

好。燦爛。 :-) –