Jaw*_*ria 2 javascript forms jquery post
我有一个带有三个单选按钮选项的表单.我需要将表单数据提交到另一个文件,但由于某种原因,发送的数据包含所选单选按钮的值为"on"而不是value属性的值.
我尝试通过post()函数手动操作和发送数据,但由于我需要在提交时重定向页面,这导致POST请求后跟GET请求.此代码的实际目的要求我将此数据发送到处理数据的函数,并决定重定向页面的位置.但是,该函数对GET请求有不同的用途,并在此表单发送GET请求时出错.这种限制首先使这成为一个问题.
有没有办法以某种方式获得单选按钮的值,而不是只是"打开",这样只有一个请求从这个表单发送?我理解是否唯一的方法是修改数据发送到的功能.
如果有任何不清楚或混淆,请评论.谢谢您的帮助!
码:
<form name="send-form" class="send-form" method="POST" action="somefunction>
<input type="radio" name="option" id="1" val="1">
<input type="radio" name="option" id="2" val="2">
<input type="radio" name="option" id="3" val="3">
</form>
<script>
$(".send-form").submit(function(e){
e.preventDefault();
// get selected value
var selected = $("input[type='radio'][name='option']:checked");
// check if an option was selected
if (selected.length > 0) {
selectedValue = selected.attr("id");
$.post('somefile', {"option" : selectedValue}, function() {
window.location.href = "somefile";
});
}
} else {
alert("Please select an option");
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
Mik*_*sen 10
您需要使用value,而不是val:
<form name="send-form" class="send-form" method="POST" action="somefunction">
<input type="radio" name="option" id="1" value="1" />
<input type="radio" name="option" id="2" value="2" />
<input type="radio" name="option" id="3" value="3" />
</form>
Run Code Online (Sandbox Code Playgroud)
这将发布option=1,option=2或option=3在请求中.