-1

POST メソッドを使用して javascript から php に値を渡そうとしていますが、機能していません。コードは次のとおりです。

<head>
<script type="text/javascript">
function Email()
{

    var e=prompt("Your Email","");
    if(e==null||e=="")
    {
    alert("You need to enter an email..Try again");
    Email();
    }

    return e;
}
function Code()
{

    var f=prompt("Activation code","");
    if(f==null||f=="")
    {
    alert("You need to enter the code..Try again");
    Code();
    }

    return f;
}
</script>
</head>
<body>
<form method="post">
<input type="hidden" id="Email" name="Email" />
<input type="hidden" id="Code" name="Code" />
</form> 
<script>
var email=Email();
var code=Code();
document.getElementByID("Email").value=email;
document.getElementByID("Code").value=code;
</script>

<?php
$email=$_POST["Email"];
$code=$_POST["Code"];

echo $email.$code;
?>
</body>

これらのエラーが発生します:

  • 注意: 未定義のインデックス: メール
  • 注意: 未定義のインデックス: コード

誰でも私を助けてください...

4

1 に答える 1

1

それらの値を印刷したい場合は、適切なフォームフォームを作成する必要があります。いくつかの値を送信したいだけの場合はフォームが必要ないため、フォームを送信するだけの場合は JS は必要ありません。そのためにはjQuery Postを使用します。

<form method="post" action="">
    <label for="email">Email</label>
    <input type="text" name="email" />

    <label for="code">Code</label>
    <input type="text" name="code" />

    <input type="submit" value="Submit" />
</form>​

フィドル:ここ

編集

次に、これはあなたが望むものです。(このコードはjQueryライブラリを使用していることに注意してください)

$(function(){
    // Create both variables
    var code, email;

    // Ask for code and check if it's not null or empty
    do{
        code = prompt('Activation code', null);
    }
    while(code == null || code == '');


    // Ask for email and check if it's not null or empty
    do{
        email = prompt('Your email', null);
    }
    while(email == null || email == '');

    // Make POST request via AJAX to your script
    $.post('yourscript.php', { code: code, email: email }, function(data) {
        // If success alert response (in your case should be "email.data" values)
        alert(data);
    });   
});
于 2012-09-03T22:57:10.480 に答える