2011-05-03 54 views
3

我在我的形式有這樣的UL

<form action="step1/" method="post" enctype="multipart/form-data" id="form"> 
    <div class="tabs"> 
     <ul> 
      <li class="dot clicked radio_buttons"></li> 
      <li class="active not_the_dot"><span class="l"></span><a href="#">Standard Class</a><span class="r"></span></li> 
      <li class="dot radio_buttons"></li><li class="not_the_dot"><span class="l"></span><a href="#">Business Class</a><span class="r"></span></li> 
      <li class="dot radio_buttons"></li><li class="not_the_dot"><span class="l"></span><a href="#">Premium</a><span class="r"></span></li> 
     </ul> 
.... 
.... 
.... 

,然後我在形式與其他項目以及像

<select name="quantity_id" class="quantity_select"> 
      <option selected="selected" value="0">SELCT STATION QUANTITY</option> 
      <option value="1">1 Station</option> 
      <option value="2">2 Station</option> 
      <option value="3">3 Station</option> 
      <option value="4">4 Station</option> 
      <option value="5">5 Station</option> 
    </select> 

,並在表格上提交的quantity_id存在,但UL值不是....是否有需要改變,以使這個值可用....我基本上需要像「標準」,「商業

回答

8

<ul/>項目不是表單元素,不會在提交表單時發佈。如果您需要捕獲這些值,則可以將它們存儲在hidden表單元素中。

示例將文本捕獲到隱藏字段中,添加隱藏字段。

<input type="hidden" id="activeThing" name="activeThing"/> 

,並綁定一個click事件的li

$("ul li.not_the_dot").click(function(){ 
    $("#activeThing").val($(this).find("a").text()); 
}); 
2

html form只提交值它的輸入(元素如輸入,textarea,select)以params標記到服務器。

所以如果你想發送一些東西到服務器使其成爲輸入元素。如果你有一些預定義的變量或值發送到服務器使用它隱藏的字段。

1

您是否期待UL向表格發送信息?它不會。您需要使用表單輸入(即SELECT,TEXT,TEXTAREA,RADIO,CHECKBOX,HIDDEN等)

您的UL-> LI HTML中沒有任何內容會通過表單發送數據。您需要更改代碼,所以當它輸出的活躍李,它將輸出類似:

<input type="hidden" name="active" value="Standard"> 

然後,它會被傳遞到窗體。

2

<ul><li>元素不是表單元素,因此它們在發佈表單時不會被提交。您需要將<li>的值轉換爲表單控件,例如單選按鈕或選擇,或者將一些事件處理javascript添加到<li>元素中,以便在選擇它們時(或者對它們執行任何事件),用該值更新隱藏字段。隱藏的表單字段將在POST中提交。