2016-10-10 178 views
0

我有以下JS代码:将JavaScript变量到一个PHP变量

<script> 
    $('#mpxModalEdit').on('show.bs.modal', function(e) { 
     var editId = $(e.relatedTarget).data('edit-id'); 
    $(e.currentTarget).find('input[name="editId"]').val(editId); 
    }); 
</script> 

这会将正确的edit-id值到窗体的文本框name=editId如我所愿。

我想补充JS的另一条线,这样它还将值到一个PHP变量,因为我需要做一个后续

$query = "select * from playlists where id='editId'

+1

您应该使用** AJAX **。 –

+0

如果您将表单提交给服务器,它将收到它。更好的是提到AJAX变量并接收结果而不重新加载 – mplungjan

+0

人们试图用不同的方式告诉你的是PHP环境不能被javascript改变。您必须将信息发送到“另一个”文件并在那里处理信息。你正在交给某人一本书,读完之后你希望他们的意见印在书上。这是不可能的。尽管你可以在下一个打印中添加它。您应该使用AJAX,获取所需的信息并将其提供给页面上的容器。 – RST

回答

2

PHP的脚本是仅运行时加载你的页面在任何js运行之前或者做一个AJAX。另外,PHP在服务器上运行,而JS在客户端。
我的第一个建议是,真的会想,你是否需要这样做(甚至告诉我们,你为什么这么认为)。
如果你真的需要它,你可以使用AJAX并将你的变量作为数据发送到服务器。

+0

它需要一个模式 - 编辑ID值正常工作,并显示在输入框中,所以该值显示并正在传输到模态。所以它被放置在输入框中 - 只是想知道如何在同一个模态显示过程中将这个相同的值放入一个PHP变量中? – NetTemple

+0

@NetTemple我试图弄清楚,为什么你首先需要一个PHP变量的值?你想如何使用这个变量? – Syntac

+0

在编辑sql查询中:“$ query =”select * from playlists where id ='editId'“ – NetTemple

0

使用AJAX调用,您可以将js值传递给PHP脚本。假设您将editId js值传递给logtime.php文件。

$(document).ready(function() { 
 

 
      $(".clickable").click(function() { 
 
       var userID = $(this).attr('id'); 
 
       //alert($(this).attr('id')); 
 
       $.ajax({ 
 
        type: "POST", 
 
        url: 'logtime.php', 
 
        data: { editId : editId }, 
 
        success: function(data) 
 
        { 
 
         alert("success!"); 
 
        } 
 
       }); 
 
      }); 
 
     }); 
 

 
<?php //logtime.php 
 
$editId = isset($_POST['editId']); 
 
//rest of code that uses $editId 
 
?>
将AJAX调用后您的JS脚本

$(e.currentTarget).find('input[name="editId"]').val(editId);
线。 然后你可以在logtime.php文件中指定你想要的PHP变量

+0

不知道在哪里logtime .php是来自我有一个弹出式模态这是代表父页吗 – NetTemple

+0

将logtime.php替换为您想要传递js变量的文件URL –

1

我不知道任何PHP语法,但我可以告诉你的是PHP在服务器上执行并且JavaScript在客户端上执行(在浏览器上)。

,如果你的页面上,你有:

<form method="get" action="blah.php"> 
    <input name="test"></input> 
</form> 

$_GET通话将检索在输入字段中的值。

那么如何从JavaScript中检索值?

那么,你可以将JavaScript值粘在一个隐藏的表单字段中...... 这可能是最好的解决方案。

<script type="text/javascript" charset="utf-8"> 
    var test = "tester"; 
    // find the 'test' input element and set its value to the above variable 
    document.getElementByID("test").value = test; 
</script> 

...别处您的网页上...

<form method="get" action="blah.php"> 
    <input id="test" name="test" visibility="hidden"></input> 
    <input type="submit" value="Click me!"></input> 
</form> 

然后,当用户点击提交按钮时,他/她会发出 “GET” 请求blah.php,发送“测试”中的值。

或者另一种方法是使用AJAX