如何使用javascript将表单值传递给另一个文件?

时间:2014-07-18 19:21:37

标签: javascript php

所以昨天我们进行了一次动手考试,我们必须输入名字,预赛,期中考试和最终成绩。将其发送到另一个文件后,输入值将自动出现在另一个要完成的文本框中,其中将计算prelim,midterm和final的平均值。最后,如果我点击完成按钮,将输出该值。老师告诉我们使用php和javascript,但我只使用了php,因为它很容易。 然后在实践之后,我们的老师告诉我们将会有另一个,但是现在,我们必须使用javascript,因为我们大多数人都使用php。我尝试使用javascript做同样的事情,但我不知道如何从另一个文件中获取表单值,使用javascript输出,就像php的post方法一样。我不打算使用javascript重新制作所有内容,我只想更改send.php代码。这是我们动手考试的PHP代码:

///////////////////////////////////////// gradebook.php /// ///////////////////////////////////////////

<!DOCTYPE html>

<html>

<head>



<title>Gradebook</title>

</head>


<body>





<form action="verify.php" method="POST">
<h1>Grade Book</h1>
<table> 
    <tr>
        <td>Name:</td>
        <td><input type="text" name="name" size="25"></td>
    </tr>
    <tr>
        <td>Prelim:</td>
        <td><input type="text" name="prelim" size="25"></td>
    </tr>
    <tr>
        <td>Midterm:</td>
        <td><input type="text" name="midterm" size="25"></td>
    </tr>
    <tr>
        <td>Finals:</td>
        <td><input type="text" name="final" size="25"></td>
    </tr>
</table>
    <input type="submit" name="submit" value="Submit">
</form>


</body>

</html>

///////////////////////////////////////// verify.php /// ///////////////////////////////////////////

<!DOCTYPE html>
<html>
<head>

<title>Verify</title>

</head>

<?php 
    $name = $_POST['name'];
    $_POST['prelim'];
    $_POST['midterm'];
    $_POST['final'];

    $total = 0.3 * $_POST['prelim'] + 0.3 * $_POST['midterm'] + 0.4 * $_POST['final'];
?>

<form action="newsend.html" method="POST">
<table>
    <tr>
   <td>Name:<input type="text "name="vname" size="25" id="vername" value="<?php echo     
   $name;?>"></td>
    </tr>

    <tr>
    <td>Grade:<input type="text"name="vgrade" size="25" id="vergrade"  value="<?php     
 echo $total;?>"></td>
    </tr>
</table>
        <input type="submit" name="vsubmit" value="Finalize">
</form>

</body>

</html>

///////////////////////////////////////// send.php /// ///////////////////////////////////////////

<!DOCTYPE html>
<html>
<head>

<title>Send</title>

</head>


<body>

<?php 

    $vname = $_POST['vname'];

    $vgrade = $_POST['vgrade'];

    echo 'Name: '.$vname.'<br/>';
    echo 'Grade: '.$vgrade;


?>

</body>

</html>

1 个答案:

答案 0 :(得分:0)

如果我理解,您可以使用JavaScript Cookie。

示例:

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toGMTString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
    }
    return "";
}

function checkCookie() {
    var user = getCookie("username");
    if (user != "") {
        alert("Welcome again " + user);
    } else {
        user = prompt("Please enter your name:", "");
        if (user != "" && user != null) {
            setCookie("username", user, 365);
        }
    }
}

参考:http://www.w3schools.com/js/js_cookies.asp

演示:http://www.w3schools.com/js/tryit.asp?filename=tryjs_cookie_username

此致