使用jQuery从PHP获取变量值
那么,如何使用jquery从php文件中获取变量值。。。? jquery代码位于其他文件(tpl)中 例如,我有register.php和register.tpl(register.php的模板文件) register.php使用jQuery从PHP获取变量值,php,jquery,Php,Jquery,那么,如何使用jquery从php文件中获取变量值。。。? jquery代码位于其他文件(tpl)中 例如,我有register.php和register.tpl(register.php的模板文件) register.php ...some includes here... if(isset($_POST['submit'])) { $username = mysql_real_escape_string(trim($_POST['username'])); $emai
...some includes here...
if(isset($_POST['submit'])) {
$username = mysql_real_escape_string(trim($_POST['username']));
$email = mysql_real_escape_string(trim($_POST['email']));
$check = $mysql->query("SELECT username FROM ".TBL_USERS." WHERE username = '".$username."' OR email = '".$email."'");
$rows_check = mysql_num_rows($check);
if($rows_check > 0) {
echo 1;
} else {
$password = mysql_real_escape_string($_POST['password']);
$salt = generate_salt($email);
$hash = hash_password($password, $salt);
$q = $mysql->query("INSERT INTO ".TBL_USERS." (username, password, email, salt) VALUES ('".$username."', '".$hash."', '".$email."', '".$salt."')");
if($q) {
header("Location: index.php");
} else {
die(mysql_error());
}
}
} else {
.. calling parse template function ...
}
register.tpl
..jquery library included..
<form id="register" action="register.php" method="post">
<tr>
<td>Username</td>
<td><input type="text" id="username" name="username" class="register" style="width: 200px;" />
</td>
。包含jquery库。。
用户名
电子邮件
…其他输入。。。
$(“#用户名”).blur(函数()
{
var email_v=$(“#email”).val();
$(“#msgbox”).removeClass().addClass('messagebox').text('Checking…').fadeIn(“slow”);
$.post(“register.php”,{username:$(this.val(),email:email_v,submit:true},函数(数据)
{
如果(数据==“1”)
{
$(“#msgbox”).fadeTo(200,0.1,函数()
{
$(this.html('此用户名已存在').addClass('messageboxerror').fadeTo(900,1);
});
}
其他的
{
$(“#msgbox”).fadeTo(200,0.1,函数()
{
$(this).html('Username available to register').addClass('messageboxok').fadeTo(900,1);
});
}
});
});
当我为了测试目的将整个register.php更改为
或
该脚本工作正常…但在原始版本中,它始终显示用户名可用…最好的办法是将PHP变量作为隐藏字段或JavaScript变量输出:
<input type="hidden" id="my_var" name="my_var" value="<?php echo($my_var); ?>" />
// access it like this:
alert($('#my_var').val());
最好将PHP变量作为隐藏字段或JavaScript变量输出:
<input type="hidden" id="my_var" name="my_var" value="<?php echo($my_var); ?>" />
// access it like this:
alert($('#my_var').val());
要么创建一个请求php页面的脚本,该页面将返回您想要的任何内容,要么使用php回显一个javascript变量
<?php
echo '<script> var javascript_variable = "whatever"; </script>';
?>
要么创建一个请求php页面的脚本,该页面将返回您想要的任何内容,要么使用php回显javascript变量
<?php
echo '<script> var javascript_variable = "whatever"; </script>';
?>
如果您这样做,它将起作用
echo "1";
然后
if(result == "1") {
如果没有(但我已经检查了我的一个没有引号的代码,它不起作用,有,它还可以),请检查Firebug控制台的响应。如果您这样做,它将起作用
echo "1";
然后
if(result == "1") {
如果没有(但我检查了我的一个没有引号的代码,它不起作用,有,没问题),检查Firebug控制台的响应。如果我公司的应用程序需要在动态元素上调用Jquery,并且我们在php文件中有Jquery调用,我们将在Jquery调用中直接调用php
例如:
警报($('#').val())
当然,并非所有情况都适用。如果必须在没有PHP访问权限的情况下调用变量(可能是.tpl文件,具体取决于您的设置)您可以按照上面的详细说明设置隐藏输入。如果我公司的应用程序需要在动态元素上调用Jquery,并且我们在php文件中有Jquery调用,我们将在Jquery调用中直接调用php
例如:
警报($('#').val())
当然,并非所有情况都适用。如果您必须在没有PHP访问权限的情况下调用变量(可能是.tpl文件,具体取决于您的设置),您可能会求助于如上所述设置隐藏输入。有几种方法可以将值从PHP传递到Jquery,但是您需要发布一些代码,以便为您的案例提供更好的方法……您使用的模板库是什么?如何在模板中包含PHP值?你能在tpl文件中提供一个变量的例子吗?这真的很重要吗?其他jquery函数也在工作,模板系统也在工作……正如我所说,我尝试用以下代码对php进行clear测试:它工作了……所以echo可能有问题……我考虑将变量中的值作为一种解决方案进行传递(+echo对我来说太糟糕了)。有几种方法可以将值从php传递到jquery,但是您需要发布一些代码,以便为您的案例提供更好的方法……您使用的模板库是什么?如何在模板中包含PHP值?你能在tpl文件中提供一个变量的例子吗?这真的很重要吗?其他jquery函数也在工作,模板系统也在工作……正如我所说,我尝试用以下代码对php进行clear测试:它工作了……所以echo可能有问题……我考虑将变量的值作为解决方案传递(+echo对我来说太糟糕了),然后在register.php页面中,除了echo“1”(检查您的包含项)之外,您还必须有其他元素。firebug控制台在响应部分告诉您什么?我看到在您的$.post中没有submit:true ou submit:*,因此$\u post['submit']不存在。然后在register.php页面中,除了echo“1”(检查您的包含项)之外,您还必须有其他元素。firebug控制台在响应部分告诉您什么?我看到在您的$.post中没有提交:true ou submit:*,所以$\u post['submit']不存在。但事实并非如此……我需要先发布,然后获取值……现在的问题是如何以正确的方式在jquery中设置post值,但事实并非如此……我需要先发布,然后获取值……现在的问题是如何以正确的方式在jquery中设置post值