在php中获取javascript变量

时间:2014-02-13 23:18:16

标签: javascript php html

假设我有HTML代码:

<input type="text" id="name" class="form-control" placeholder="Upisi ime">

我用这样的PHP获得价值:$_POST['name']

但是,如果我有JavaScript变量:

var name = "john";

如何使用PHP获取此JS变量以用于添加到数据库?

3 个答案:

答案 0 :(得分:1)

在html表单中使用隐藏字段:

<input type="hidden" name="theHiddenName" value="john">

答案 1 :(得分:0)

如果我理解你的话,你将不得不使用AJAX或使用javascript帖子提交表单。

$(document).ready(function(){
    $('#name').change(function(){
        $.ajax({
            url: "submit.php",
            type: "post",
            data: 'name='+ $('#name').val()
        });
    });
});

http://jsfiddle.net/Wc9W2/

请务必先点击“运行”。输入名称,然后单击关闭输入字段,以便触发更改事件。

答案 2 :(得分:0)

您可以通过输入框(甚至是隐藏的输入)声明这些变量,并使用jQuery从输入框中获取所有这些变量。它然后将它们seledize并通过$_POST[];将它们作为对象发送给PHP。如果使用这种方法,jQuery将会为你做ajax工作。

让我们举个例子:

 <form id="myForm">
 <button><input type="text" id="name" class="form-control" placeholder="Upisi ime"></button>
 <input type="hidden" id="presetName" name="javascriptVar">
 </form>
 <div id="result"></div>

并在你的jQuery中:

$('#myForm').submit( function() {
var name = "john";

$('#presetName').val(name);  // inserting javascript's value
 var senddata = ""; // grabbing all inputs from the form
 senddata = $( this ).serialize(); // packing inputs up
 $.ajax({                                      
    url: 'yourPHP.php',                
   type: 'POST',
   data: senddata,
   success: function(data)   
  {
$('#result').html('<p> Data sent:'+data+'</p>');
      } //end of success
   }); //end of ajax
 event.preventDefault();
});// end submit