将html输入作为变量发送到jquery,然后将其发送给PHP

时间:2012-12-21 17:10:23

标签: php javascript jquery

我是jquery的新手,我最近才发现它的惊人用途,请对我这么容易。

我要做的是拥有一个html输入文本框,让变量立即解析输入,并通过jquery将包含输入文本框字符串的变量发送到php switch语句中。

从jquery到php的部分可以工作,但是从动态输入文本框传输到jquery变量的部分却没有。

这就是我所拥有的:

  <script src="jquery-1.8.3.js"></script>
   <input id="in" type="text" onchange="myFunction()" />
   <script>
 function myFunction()
 {
  var a = document.getElementById("in");
  }
  // i am trying to make this var a equal to what is typed in the input box so that it can go into the "jsvar: a" part //
  $(document).ready(function(){

  $("button").click(function(){

  $.post("runphp.php", {  jsvar: a}, function(jsvar){ alert(jsvar);
     });
     });
     });
     </script>
     <button>Run php switch statement with input</button>

并且“runphp.php”文件只是一个有效的switch语句

  <?php 
   switch($_POST['jsvar'])
    {
     case "pass": 
      echo "<3"; break;
     case "other stuff":
     echo "</3"; break;
      default:
     echo ":("; 
     }
    ?>

php部分工作正常。  但问题是,如果我宣布,例如,var a =“pass”而不是onchange&amp; myFunction的();然后jquery部分完美地工作并将该值传递到jquery并进入php switch语句,但是当我尝试使var a =输入框时,它将不会进入php。我尝试创建一个onchange函数,但它仍然不会使var等于我在输入框中键入的内容,以便它通过jquery传递到php switch语句。

3 个答案:

答案 0 :(得分:3)

您缺少.value

var a = document.getElementById("in").value;

<强>第二

您使用如下的jquery

var a = $("#in").val();

更改JS功能如下

$(document).ready(function(){

  $("button").click(function(){

  $.post("runphp.php", {  jsvar: $("#in").val()}, function(jsvar){ alert(jsvar);
     });
     });
     });

答案 1 :(得分:1)

您也可以使用jquery来选择值:

var a = $("#in").val();

答案 2 :(得分:1)

jQuery的一大好处是:

var a = document.getElementById("in");

变为

$("#in")您只需获取值$("#in").val()

即可