Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript提交表单并从其他页面接收表单_Javascript_Php_Jquery_Forms - Fatal编程技术网

使用javascript提交表单并从其他页面接收表单

使用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('

我正在尝试向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('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”
),即使刚才选中的
与前面的属性同义。业余程序员可能会将未配对的标记属性值误认为标记名


更多信息请参见此处

请澄清您的问题,您不清楚您的问题是什么。表格提交了吗?您遇到了哪些错误?代码中的“正在进行的”元素在哪里?你介意添加那个片段吗?持续警报