所以我想要完成的是用户从两个输入中选择两个日期,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>
答案 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;
};