【发布时间】:2015-12-04 19:01:33
【问题描述】:
基本上我有这个表单,它的字段由 php 和 mysql 填充。我正在尝试根据他们选择的区域和数量来获得我用来工作的 javascript 计算。但由于某种原因,它不起作用。我的代码如下。关于为什么的任何想法?
这是我的 Javascript 代码
function getQuote() {
var quantity = document.getElementByName("qty").value;
var zoneSeat = document.getElementByName("zone").value;
var quote;
if (zoneSeat == "balcony") {
quote= quantity*27;
}
else if (zoneSeat == "box 1" || "box 2") {
quote= quantity*75;
}
else if (zoneSeat == "box 3" || "box 4") {
quote= quantity*60;
}
else if (zoneSeat == "front stalls") {
quote= quantity*22.50;
}
else {
quote = quantity*15;
}
}
document.getElementById("quotation").value = quote;
}
这是我的表格
<form class="formDesign" action = "process.php" method="post">
<fieldset>
<p><label for="row">Row: </label><select name="row"></p>
<?php
$strRow = "SELECT DISTINCT RowNumber FROM Seat";
$result = $con->query($strRow);
?>
<?php while ($row = $result->fetch_row()): ?>
<?php $i = $row[0]; ?>
<option><?php echo $i; ?></option>
<?php
$i++;
endwhile;?>
</select>
<p><label for="seat">Zone: </label><select name="zone"></p>
<?php
$strZone = "SELECT * FROM Zone";
$result = $con->query($strZone);
?>
<?php while ($row = $result->fetch_row()): ?>
<?php $i = $row[0];?>
<option><?php echo $i?></option>
<?php
$i++;
endwhile;?>
</select>
<p><label for="numberOfTickets">Quantity:
</label><input type="number" name="qty" min="1" max="5"></p>
<p><input class="mybutton" name="Quote" value="Calculate quote" onclick="getQuote();"></p>
<label>£:</label><input name="quotation" id="quotation" type="text" readonly="readonly" value="total cost"/>
<p><input type="submit" name= "sub"></p>
</fieldset>
</form>
<p><label for="row">Row: </label><select name="row"></p>
<?php
$strRow = "SELECT DISTINCT RowNumber FROM Seat";
$result = $con->query($strRow);
?>
<?php while ($row = $result->fetch_row()): ?>
<?php $i = $row[0]; ?>
<option><?php echo $i; ?></option>
<?php
$i++;
endwhile;?>
</select>
<p><label for="seat">Zone: </label><select name="zone"></p>
<?php
$strZone = "SELECT * FROM Zone";
$result = $con->query($strZone);
?>
<?php while ($row = $result->fetch_row()): ?>
<?php $i = $row[0];?>
<option><?php echo $i?></option>
<?php
$i++;
endwhile;?>
</select>
<p><label for="numberOfTickets">Quantity:
</label><input type="number" name="qty" min="1" max="5"></p>
<p><input class="mybutton" name="Quote" value="Calculate quote" onclick="getQuote();"></p>
<label>£:</label><input name="quotation" id="quotation" type="text" readonly="readonly" value="total cost"/>
<p><input type="submit" name= "sub"></p>
</fieldset>
这是在区域表中插入数据库的内容
insert into Zone values ('rear stalls', 1.00);
insert into Zone values ('front stalls', 1.50);
insert into Zone values ('balcony', 1.80);
insert into Zone values ('box 1', 5.00);
insert into Zone values ('box 2', 5.00);
insert into Zone values ('box 3', 4.00);
insert into Zone values ('box 4', 4.00);
这是 SQL 语句
CREATE TABLE Zone(
Name char(12) not null,
PriceMultiplier float not null default 1.0,
PRIMARY KEY (Name)
);
【问题讨论】:
-
它在做什么表明它不起作用?
-
@Jonathan 它没有显示计算结果。
-
我认为您的问题之一是变量
quote是函数的本地变量,但您在函数外部引用它,它是一个不同的变量。 -
$i++;在做什么?为了什么? -
@NinaScholz 它不断打印数据库中项目的值
标签: javascript php mysql html mysqli