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