2013-03-22 71 views
0

如果我有像AJAX文本输入值

<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> 

我有一个PHP函数,返回我的全名的数组时,其给出的电子邮件,例如:

function get_fullname($email){ 
//some code here that gives a value to $firstname, 
//$lastname, $age and $gender (for example using a cURL request) 

$fullname = array(
firstname => $firstname, 
lastname=>$lastname, 
age=>$age, 
gender=>$gender); 

Return $fullname; 
} 

所以,如果,例如,我的地址是[email protected]

$fullname['firstname'] = "John" 
$fullname['lastname'] = "Doe" 

的问题是:^h我可以在用户输入电子邮件地址后将这些名称作为我的text inputvalue吗?

+0

我正在阅读所有答案。我用名字和名字做了一个简单的例子,但我的真正意图是获得一个可扩展的代码,其中函数可以从邮件中获取更多信息(例如,通过cURL请求到一个剧目)。因此,我会尝试寻找能够处理这类信息的代码。 – Wistar 2013-03-22 01:24:13

回答

0

使用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 
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); 
} 
?> 
一个PHP文件
0

嗯...发送电子邮件到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]; 
?> 

当然,这只有在电子邮件工作看起来像[email protected]。你可能这个严格使用JavaScript,但你要求AJAX。

另外,要使用JavaScript函数,你可以使用平变化,像

<input type="text" onchange="alterEmail(this.value);" />