在我的网站上,我有一个登录表单,它将一些数据(例如电子邮件地址)提交给PHP函数并启动正在运行的函数,从而创建用户。
我想从表格所在的页面传递一些额外的信息
这是我想通过表单发送的数据:
<?php
$variable = "Your Name Here"
?>
这是表格本身:
<form action='http://dev3.benefacto.org/wp-admin/admin-ajax.php' method='GET'>
<b>Work E-Mail: </b><input type='text' name='email' id='email' placeholder='Enter Your Work Email' />
<input type='text' style='display: none' name='action' id='action' value='logged_in_check2' />
<input type='text' name='variable' id='variable' value=$variable />
<input type='submit' value='Next' class='cta' />
为了论证,我们可以说PHP函数是
function simple_name_return()
{
echo 'Hello'
$variable = $_GET["variable"];
echo $variable;
}
add_action("wp_ajax_nopriv_simple_name_return", "simple_name_return");
add_action("wp_ajax_simple_name_return", "simple_name_return");
我认为这可能会有所帮助,但我对JavaScript完全不熟悉,所以有点难过:Pass Javascript variable to PHP via ajax
任何想法都非常感激。
答案 0 :(得分:0)
我回答了一个非常相似的问题here。
基本上你需要通过POST / GET传递变量,检查结果并做出响应。要查看电子邮件,您可以执行以下操作:
emailcheck.php
<?php
// Assume success by default
$result = true;
if (!filter_var($_GET['email'], FILTER_VALID_EMAIL)) {
$result = false;
}
// Other checks, such as domain here, set $result to false if check fails
// Throw error if email isn't valid so it can be picked up by $.ajax
if (!$result) {
http_response_code(500);
}
JS(需要jquery)
function isValidFormEmail()
{
// Perform ajax call to emailcheck.php
$.ajax({
url: '/emailcheck.php?email=' + $('#email').val(),
error: function() {
$('#custom-email-error').show();
},
success: function(data) {
// Submit form
$('form').submit();
}
});
// Prevent form from submitting on click
return false;
}
这应该适用于您的HTML,因为它当前正在提供操作URL移动到下一个操作。
答案 1 :(得分:-1)
由于您要将表单提交到页面,因此您需要先在admin-ajax.php中接收变量,然后将其传递给函数。