2013-03-22 3 views
0

Если я получил что-то вродеAJAX ввода текста значение из функции PHP

<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 ow я могу сделать эти имена как value моего text input после того как пользователь набрал адрес электронной почты?

+0

Я читаю все ответы прямо сейчас. Я сделал простой пример с именем и именем, но я действительно намерен получить масштабируемый код, в котором функция могла бы получать больше информации из почты (например, с помощью запроса cURL к репертуару). Таким образом, я попытаюсь найти код, который обрабатывал бы такую ​​информацию. – Wistar

ответ

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' 
    }); 
}); 

создать файл PHP под названием 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); 
} 
?> 
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 вы можете вызвать его с помощью OnChange, что-то вроде

<input type="text" onchange="alterEmail(this.value);" /> 
Смежные вопросы