如何通过ajax帖子发送选项选项下拉列表中的选项值(而不是里面的html文本)?

时间:2017-07-23 20:22:11

标签: javascript php jquery html ajax

我正在创建一个需要使用Ajax(JQuery)发送帖子数据的页面。

(最相关的)HTML代码如下:

<div class="command-list">
  <form action="app_page.php" method="post">
    <select name="TYPE" class="form-control">
      <option vaule="VALUE 1">DISPLAYED TEXT 1</option>
      <option vaule="VALUE 2">DISPLAYED TEXT 2</option>
    </select>
    <input type="button" class="ibtnSave" value="Salvar">
  </form>
</div>

用于发送表单数据的JQuery函数是:

$(document).ready(function () {
    $(".command-list").on("click", ".ibtnSave", function (event) {
        var tosave = $(this).closest("form"); // Gets the form that the button belongs to
        var r = $.post('app_page.php', tosave.serialize()); // Sends the form data via POST to my application page
});

在服务器端(PHP应用程序),当检索POST数据时,收到的值是'DISPLAYED TEXT 1'或'DISPLAYED TEXT 2'而不是'VALUE 1'或'VALUE 2',如预期的那样通过html发送的普通表单。

如何只发送value属性内的数据而不是选项标签之间显示的文本?

汇总:

正在发送的当前数据:TYPE = DISPLAYED TEXT 1

我真正想要发送的内容:TYPE = VALUE 1

修改

状态:已解决问题

我的HTML代码上拼错了'value'属性。 在上面的代码中,它表示'vaule'而不是'value'。

感谢。

1 个答案:

答案 0 :(得分:1)

错字:

<option vaule="VALUE 1">DISPLAYED TEXT 1</option>
        ^^^ should be value

如果某个选项没有值(在您的情况下由于拼写错误),则会改为使用显示的文本。