0

私が次のようなものを手に入れたら

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

たとえば、私のアドレスがjohn.doe@gmail.comの場合

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

問題は、ユーザーが電子メールアドレスを入力した後の名前としてこれらの名前を作成するにはどうすればよいですか?valuetext input

4

2 に答える 2

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];
?>

もちろん、これはメールがjohn.doe@gmail.comのように見える場合にのみ機能します。これには厳密にJavascriptを使用できますが、AJAXを要求しました。

また、そのJavascript関数を使用するには、onchangeを使用して呼び出すことができます。

<input type="text" onchange="alterEmail(this.value);" />
于 2013-03-22T01:06:45.203 に答える
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ファイルを作成します

<?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);
}
?>
于 2013-03-22T01:08:21.100 に答える