我正在创建一个需要使用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'。
感谢。
答案 0 :(得分:1)
错字:
<option vaule="VALUE 1">DISPLAYED TEXT 1</option>
^^^ should be value
如果某个选项没有值(在您的情况下由于拼写错误),则会改为使用显示的文本。