2013-03-22 106 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);" />