【问题标题】:send html input as variable into jquery which then sends it to PHP将 html 输入作为变量发送到 jquery,然后将其发送到 PHP
【发布时间】:2012-12-21 17:10:23
【问题描述】:

我是 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 & myFunction();然后 jquery 部分完美地工作并将该值传递给 jquery 和 php switch 语句,但是当我尝试使 var a = 那个输入框时,它不会通过 php。我尝试制作一个 onchange 函数,但它仍然不会使 var a 等于我在输入框中键入的内容,以便它通过 jquery 传递到 php switch 语句中。

【问题讨论】:

    标签: php javascript jquery


    【解决方案1】:

    你不见了.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);
         });
         });
         });
    

    【讨论】:

    • 哦,这对我有用,我知道这很明显,谢谢。等等,它没有完全做到,输入确实通过了,但是如果我在 html 输入框中输入“pass”,它不会抛出“
    【解决方案2】:

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

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

    【讨论】:

    • 谢谢,我将如何使用这部分?我可以插入 $("#in").val();直接进入 jsvar:一部分?
    • 它将输入的值存储在变量a中,因此您无需更改该行
    【解决方案3】:

    jQuery 的一大好处是这行:

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

    变成

    $("#in"),你可以直接获取值$("#in").val()

    【讨论】:

    • 好的,我发现你可以将 $("#in").val() 部分直接放入 jsvar : 部分,谢谢!
    猜你喜欢
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 2016-05-17
    • 2011-09-23
    相关资源
    最近更新 更多