如何将两个javascript值返回到两个不同的HTML文本字段

时间:2015-03-19 22:57:23

标签: javascript php html forms

所以我想要完成的是用户从两个输入中选择两个日期,javascript计算天数并将其打印到另一个文本字段。现在该部分正在运行,但我也想使用$ _POST [' pris']根据天数计算总价格并将新价格打印到另一个文本字段

这里的形式是我试图通过上面的Javascript从中获取数据并将数据发布到:

   function leibil(){ 

$reg = $_POST['reg'];
$bruker = $_POST['bruker'];
$pris = $_POST['pris'];

    echo" <center><h3>Fyll ut utleieskjema  </h3></center><hr/>
    <form method='POST' action='registrerbilutleie.php'>
  Lei fra:<br/>
  <input type='date' class='textbox' id='leifra' name='leifra' required onchange='cal()'><br/>
  Lei til:<br/>
  <input type='date' class='textbox' id='leitil' name='leitil' required onchange='cal()'><br/>
  Leveringssted:<br/>
    <select name='levsted'>
    <option value='Alle'>Alle</option>
    <option value='Oslo'>Oslo</option>
    <option value='Bergen'>Bergen</option>
    <option value='Drammen'>Drammen</option>
    <option value='Trondheim'>Trondheim</option>
    <option value='Lillehammer'>Lillehammer</option>
    </select><br/>
  RegNr:<br/>
    <input type='text' name='reg' value='$reg'><br/>  
  BrukerID:<br/>
    <input type='text' name='bruker' value='$bruker'><br/>
  Dager:<br/>
    <input type='text' class='textbox' name='dager' id='antalldager' disabled='disabled'><br/>
  Total Pris:<br/>
  <input type='hidden' name='pris' id='oldpris' value='$pris'>
    <input type='text' class='textbox' name='totpris' id='totpris'><br/>
  <input type='submit'>
</form>";
}

这是php文件,我有以下形式的函数:

<?php
session_start();

include_once ("hjelpefunksjoner.php");
?>

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Søkeresultat| Oppgave - Database & web </title>
    <link href="style.css" rel="stylesheet" type="text/css">
    <script type="text/javascript">
    function Dager(){
                var fra = new Date(document.getElementById("leifra").value);
                var til = new Date(document.getElementById("leitil").value);
                return parseInt((til - fra) / (24 * 3600 * 1000));
        };

        function cal(){
        if(document.getElementById("leifra")){
            document.getElementById("antalldager").value=Dager();
        }  
    };
    function pris(){
    var dager = Number(document.getElementById("antalldager").value);
    var pris = Number(document.getElementById("oldpris").value);
    var nypris = (antalldager * pris); 
     document.getElementById('totpris').value = nypris;
      return nypris;
    };

    </script>
</head>
<body>
    <div id="top">Prosjektoppgave - Database og Web  Vår 2015</div>
    <div id="menu">
        <ul>
            <li><a href="index.php">Hjem</a></li>
            <li><a href="members.html">Medlemmer</a></li>
            <li><a href="beskrivelse.html">Beskrivelse</a></li>
            <li><a href="sqlscript.html">SQL-Script</a></li>
        </ul>
    </div>
    <div id="hoved">
                            <?php
                            echo"<h1>Du har valgt: " . $_POST['makeAndModel'] . "</h1>";
                            status();
                            ?>      
<hr/>

                <div id="leibilboks">

                <?php
                leibil();
                ?>
                </div>

            <div id="valgtbil">
            <?php
            VisLeieBil();
            ?>


            </div>


</div>  
    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

这里看起来有问题:

function pris(){
    var dager = new Int(document.getElementById("antalldager").value);
    var pris = new Int(document.getElementById("oldpris").value)
    return document.getElementById('totpris');
    var nypris = (antalldager * pris);
};

首先请注意,除了Int您要使用Number之外,或者您可以parseInt()对其进行操作。另请注意,您可以删除new,我建议您这样做(让new使其成为包装对象,这可能不是您想要的)。接下来,您需要返回nypris的值,并且您希望将该值设置为totpris元素的新值。所以我将告诉你如何做到这两点:

function pris(){
    // Change from 'Int' to 'Number'
    var dager = Number(document.getElementById("antalldager").value);
    var pris = Number(document.getElementById("oldpris").value);

    // Calculate the value first
    var nypris = (antalldager * pris);       

    // Set the value to the element 
    document.getElementById('totpris').value = nypris;

    // return the value
    return nypris;
};