来自php函数的AJAX文本输入值
如果我有来自php函数的AJAX文本输入值,php,ajax,input,forms,Php,Ajax,Input,Forms,如果我有 <form name="myform" method="POST" action=""> <input type="text" name="mail"> <input type="text" name="firstname"> <input type="text" name="lastname"> <input type="submit"> </form> <input type="text" oncha
<form name="myform" method="POST" action="">
<input type="text" name="mail">
<input type="text" name="firstname">
<input type="text" name="lastname">
<input type="submit">
</form>
<input type="text" onchange="alterEmail(this.value);" />
例如,如果我的地址是约翰。doe@gmail.com
$fullname['firstname'] = "John"
$fullname['lastname'] = "Doe"
问题是:在用户键入电子邮件地址后,如何将这些名称作为我的
文本输入的值。。。将电子邮件发送到PHP文件:
function alterEmail(email){
$.get('getName.php',
{'email': email},
function(data){
names = data.split('.');
$('.fname').html(names[0]);
$('.lname').html(names[1]);
}
);
}
PHP文件如下所示:
<?php
$splitEmail = explode('@',$_GET['email']);
echo $splitEmail[0];
?>
当然,只有当电子邮件看起来像约翰时,这才有效。doe@gmail.com. 您可以严格使用Javascript实现这一点,但您要求使用AJAX
另外,要使用该Javascript函数,可以使用onchange调用它,比如
<form name="myform" method="POST" action="">
<input type="text" name="mail">
<input type="text" name="firstname">
<input type="text" name="lastname">
<input type="submit">
</form>
<input type="text" onchange="alterEmail(this.value);" />
使用jquery:
var email = $('input[name="mail"]'),
firstname = $('input[name="firstname"]'),
lastname = $('input[name="mailastnamel"]');
email.on('blur', function() {
$.ajax({
url: "ajax.php",
data: {'email': email.val()},
type: 'post',
success: function(result) {
if(result.firstname && result.lastname) {
firstname.val(result.firstname);
lastname.val(result.lastname);
}
},
dataType: 'json'
});
});
创建一个名为ajax.php的php文件
<?php
function get_fullname($email){
//some code here that gives a value to $firstname and $lastname
$fullname = array(firstname => $firstname, lastname=>$lastname)
Return $fullname
}
if(isset($_POST['email'])) {
$fullname = get_fullname($_POST['email']);
echo json_encode($fullname);
}
?>
我正在阅读所有答案。我用name和first name做了一个简单的例子,但我真正的目的是得到一个可伸缩的代码,在这个代码中函数可以从邮件中获得更多信息(例如通过对repertory的cURL请求)。因此,我将尝试寻找一种处理此类信息的代码。