2011-05-03 53 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中提交。