<tr class="form-field">
<th valign="top" scope="row">
<label for="email"><?php _e('E-Mail', 'custom_table_example')?></label>
</th>
<td>
<input id="email" name="email" type="email" style="width: 95%" value="<?php echo esc_attr($item['email'])?>"
size="50" class="code" placeholder="<?php _e('Your E-Mail', 'custom_table_example')?>" onchange="myFunction();" required>
</td>
</tr>
<?php
echo'<script>
function myFunction() {
var x = document.getElementById("email").value;
alert(x);
}
</script>';
?>
<?php
$content = "<script>document.write(x)</script>";
echo $content;
?>
<?php
$user = get_user_by( 'email', 'abc@a.com' );
$userId = $user->ID;
echo "That E-mail is registered to user number " . $userId;
?>
如何将javascript变量导入php? 我已尝试使用上面的代码。我正在收到javascript警报,但我需要php中的变量值。 如果我得到变量需要与userid进行比较。如果存在userid,我需要将其存储到db,否则它不应保存到db并提供错误消息....需要在提交之前检查。 在此先感谢!!!
答案 0 :(得分:0)
您对服务器端语言的工作方式感到困惑。
在生成的HTML返回给客户端之前,服务器会处理页面中存在的任何php。因此,javascript无法以您尝试过的方式与服务器通信。
你需要做的是使用javascript(可能带有jquery)向服务器发送ajax请求,这会将数据发送到服务器并等待答案,然后你可以根据答案做一些事情。 / p>
以下是ajax调用的示例(来自jquery docs):
$.ajax({
method: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});