使用PHP和AJAX提交单选按钮

时间:2017-08-28 03:44:52

标签: javascript php jquery ajax

我在使用PHP和AJAX提交无线电输入值方面遇到了麻烦。我已经构建了下面的代码,但我似乎无法让它工作。有任何想法吗?仅当按下按钮时,无线电场的值才需要通过



    <script>
    function showUser(str) {
      if (str == "myvalue") {
        document.getElementById("txtHint").innerHTML = "";
      /// location of new code -start
      document.querySelector('input[name="users"]:checked').value;
      /// location of new code -end
        return;
      } else {
        if (window.XMLHttpRequest) {
          // code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp = new XMLHttpRequest();
        } else {
          // code for IE6, IE5
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
          if (this.readyState == 4 && this.status == 200) {
            document.getElementById("txtHint").innerHTML = this.responseText;
          }
        };
        xmlhttp.open("GET", "ajax-php.php?q=" + str, true);
        xmlhttp.send();

      }
    }

    </script>

  
&#13;
    <form>
      <input type="radio" name="users" value="1">
      <input type="radio" name="users" value="2">
      <!-------unable to pass value----------->
      <input type="button" value="myvalue" onclick="showUser(this.value)">

      <!-------unable to pass value----------->
    </form>

    <div id="txtHint">echo results here</div>

  
&#13;
&#13;
&#13;

Ajax的php.php

<?php
$q = intval($_GET['q']);

echo $q;
?>

谢谢。

2 个答案:

答案 0 :(得分:1)

传递给showUser函数的'this.value'参数的范围是使用onclick函数的元素。 所以它试图发送没有值的按钮元素的值。

答案 1 :(得分:0)

你做得很好。

<input type="button" onclick="showUser(this.value)">

函数showUserbutton类型输入字段调用。这个领域没有价值。

如果要发送任何值,请使用值attribute。例如:

<input type="button" value="mayValue" onclick="showUser(this.value)">

要访问单选按钮值,您可以使用此代码。

document.querySelector('input[name="users"]:checked').value;

要发送单选按钮值,请遵循以下代码

//xmlhttp.open("GET", "ajax-php.php?q=" + str, true);
xmlhttp.open("GET", "ajax-php.php?q=" + document.querySelector('input[name="users"]:checked').value, true);