使用javascript提交表单并从其他页面接收表单
我正在尝试向PHP页面提交表单,但无法从此页面访问数据,这是我的代码: Html代码:使用javascript提交表单并从其他页面接收表单,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我正在尝试向PHP页面提交表单,但无法从此页面访问数据,这是我的代码: Html代码: <form method="post" id="formid" action="test.php"> <input type="hidden" name="going" id="going" value="" /> </form> $("#ongoing").change(function() { var ongoing = $(this).attr('
<form method="post" id="formid" action="test.php">
<input type="hidden" name="going" id="going" value="" />
</form>
$("#ongoing").change(function() {
var ongoing = $(this).attr('checked');
var input = document.getElementById('going');
var form = document.getElementById('formid');
if (ongoing)
input.value = "1";
else
input.value = "0";
form.submit();
});
test.php
if(isset($_POST['going']))
echo $_POST['going'];
我做错了什么?用这个
$("#ongoing").change(function() {
var input = document.getElementById('going');
var form = document.getElementById('formid');
if($(this).is(':checked'))
{
input.value = "1";
}
else
{
input.value = "0";
}
form.submit();
});
试试这个!它可以用更少的代码实现您想要的功能。出现问题的原因是
checked
属性返回字符串
而不是布尔值
$("#ongoing").change(function() {
var form = document.getElementById('formid');
form.going.value = $(this).attr('checked').toLowerCase() == "checked" ? "1" : "0";
form.submit();
});
更长的路看起来像:
$("#ongoing").change(function() {
var form = document.getElementById('formid');
var input = document.getElementById('going');
var isChecked = $(this).attr('checked').toLowerCase() == "true";
if(isChecked)
input.value = "1";
else
input.value = "0";
form.submit();
});
另外!在编写html属性时,最好始终键入checked=“true”
(或“false”
),即使刚才选中的与前面的属性同义。业余程序员可能会将未配对的标记属性值误认为标记名
更多信息请参见此处请澄清您的问题,您不清楚您的问题是什么。表格提交了吗?您遇到了哪些错误?代码中的“正在进行的”元素在哪里?你介意添加那个片段吗?持续警报