ul的形式没有发送到$ _POST

时间:2011-05-03 14:58:30

标签: php jquery jquery-ui forms post

我的表格中有这个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值不是....有什么我需要改变以使这个值可用....基本上我需要像标准的“活动”类文本,业务

4 个答案:

答案 0 :(得分:8)

<ul/>项不是表单元素,在提交表单时不会发布。如果您需要捕获这些值,可以将它们存储在hidden表单元素中。

将文本捕获到隐藏字段,添加隐藏字段的示例。

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

将点击事件绑定到li

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

答案 1 :(得分:2)

html表单只将其输入值(如input,textarea,select等元素)的值提交给params中的服务器。

因此,如果您想向服务器发送内容,请将其作为输入元素。如果您有一些预定义的变量或值要发送到服务器,请使用隐藏字段。

答案 2 :(得分:2)

<ul><li>元素不是表单元素,因此在POST表单时不会提交它们。您需要将<li>值转换为表单控件,例如单选按钮或选择,或者向<li>元素添加一些事件处理javascript,以便在选择它们时(或对它们执行的任何事件),使用该值更新隐藏字段。隐藏的表单字段将在POST中提交。

答案 3 :(得分:1)

您是否期望UL向表单发送信息?它不会。您需要使用表单输入(即SELECT,TEXT,TEXTAREA,RADIO,CHECKBOX,HIDDEN等)

您的UL中没有任何内容 - &gt; LI将通过表单发送数据的HTML。您将需要更改代码,以便在输出活动LI时,它将输出如下内容:

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

然后它将传递给表单。