在写入输入类型文本之后存储PHP变量

时间:2014-05-23 03:49:54

标签: javascript php jquery

我需要在用户写入时立即将输入类型文本的值保存在PHP变量中。我发现JQuery中的blur事件可以触发在写入输入类型文本后发生的事件,所以我有以下内容:

<script>
     $("document").ready( function() 
     { 
       $("#primerApellido").blur(function() {
            alert('out');
            <?php 
                $primerApellidoForm = 
                "<script type=\'text/javascript\'>
                    $('#primerApellido').val();
                </script>
                ";
            ?>                
        });
     }); 
 </script>

这是我的输入类型文字:

<input type="text" id="primerApellido" name="primerApellido" value="<?php echo $primerApellidoForm?>"/>

正如您所看到的,我需要在用户离开文本框后立即保存PHP变量输入中输入的内容。现在它从字面上保存了Javascript变量赋值,而不是我需要的值。

如何将文本框中的键入值与PHP变量相关联?

5 个答案:

答案 0 :(得分:3)

我认为你可能会混淆PHP和Javascript。 PHP仅在服务器上运行。 Javascript只能在浏览器上运行。

您不能直接从javascript修改PHP变量。

然而,您可以做的是对另一个页面进行ajax调用以对该变量执行某些操作,例如将其保存在会话中或数据库中。

查看Javascript jQuery ajax命令。使用此命令,您可以运行另一个页面,而无需离开当前所在的页面。您可以将该页面设置为接收变量并使用它执行操作的PHP页面。

答案 1 :(得分:0)

试试这个..

$("#primerApellido").onkeyup(function() {
    var user_input = $(this).val();
    $.ajax({
        type:'GET', 
        url: 'path/to/your/phppage',
        data:{user_input:user_input}, 
        success: function(response) {
            //alert(response);
        }
    });
});

答案 2 :(得分:0)

我遵循Mark Carpenter的建议使用Ajax功能,下面是我想要的代码:

$("document").ready( function() 
$("#primerApellido").blur(function() {
    $.ajax({
    type: "GET",
        url: "destinationURL.php",
        data: "primerApellidoForm="+$('#primerApellido').val(),
        success: function(msg){
            alert( "Data Saved: "+msg);
         }
      });

   });
});

现在PHP变量“primerApellidoForm”的值来自$('#primerApellido')。val()输入类型。

答案 3 :(得分:-1)

不确定您要做的是什么。一旦你加载了页面,你就无法运行php代码(你可以制作ajax请求)。希望以下有所帮助。

How can I use a JavaScript variable as a PHP variable?

答案 4 :(得分:-1)

你可以试试这个......

<script type="text/javascript">

$("#primerApellido").blur(function() {
<?php $primerApellidoForm  = "<script>document.write($(this).val());</script>"?> 
});  
</script>