【问题标题】:ul in the form not sending to the $_POSTul 的形式不发送到 $_POST
【发布时间】:2011-08-17 19:22:26
【问题描述】:

我的表单中有这个 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 值不存在....是否需要更改某些内容才能使此值可用....基本上我需要“活动”类文本,如标准,商业

【问题讨论】:

    标签: php jquery jquery-ui forms post


    【解决方案1】:

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

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

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

    并将点击事件绑定到li:

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

    【讨论】:

      【解决方案2】:

      html 表单仅在 params 中将其 input(元素,如 input、textarea、select)标签的值提交给服务器。

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

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

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

          然后将其传递给表单。

          【讨论】:

            猜你喜欢
            • 2016-05-26
            • 1970-01-01
            • 1970-01-01
            • 2012-12-06
            • 1970-01-01
            • 2016-10-06
            • 1970-01-01
            • 1970-01-01
            • 2019-03-21
            相关资源
            最近更新 更多