Javascript 无法在textarea框中显示php脚本计算结果
我相信我的问题可能在于我试图初始化脚本的方式。我使用的submit按钮似乎只是清除表单,而没有显示任何结果。我还认为“$message=$\u POST['textarea'];”和“echo$result+$message”这两行可能有问题;我不确定这是否是将结果生成到文本区域框以及在各自的文本框中显示行驶里程和总成本的正确方法。我希望这一个按钮可以完成所有三项任务。有没有一种方法可以有效地使用PHP实现这一点 编辑:代码的更正版本。谢谢@Fred ii-Javascript 无法在textarea框中显示php脚本计算结果,javascript,php,html,Javascript,Php,Html,我相信我的问题可能在于我试图初始化脚本的方式。我使用的submit按钮似乎只是清除表单,而没有显示任何结果。我还认为“$message=$\u POST['textarea'];”和“echo$result+$message”这两行可能有问题;我不确定这是否是将结果生成到文本区域框以及在各自的文本框中显示行驶里程和总成本的正确方法。我希望这一个按钮可以完成所有三项任务。有没有一种方法可以有效地使用PHP实现这一点 编辑:代码的更正版本。谢谢@Fred ii- <?php if(is
<?php
if(isset($_POST['submit'])) {
$x = $_POST['beginningOdometerReading'];
$y = $_POST['endingOdometerReading'];
$z = $_POST['daysRentedCar'];
$miles = $y - $x;
$result = (15 * $z) + ($miles * 0.12);
$message = $_POST['textarea'];
echo $result + $message; }
?>
<html>
<head>
</script>
</head>
<body>
<div align="center">
<hr><br>
<form action="index4.php" method="post" name id="Main">
<input type="text" id="name" name="customerName" placeholder="Enter your name here" size="30px">
<br><br>
<input type="text" id="address" name="customerAddress" placeholder="Enter your street address here" size="50px">
<br><br>
<input type="text" id="city" name="customerCity" placeholder="What city do you live in?" size="30px">
<br><br>
<input type="number" id="zip" name="customerZip" placeholder="Enter your zip code" size="30px">
<br><br>
<input type="number" id="bOdometer" name="beginningOdometerReading" placeholder="Start odometer reading" size="80px">
<br><br>
<input type="number" id="eOdometer" name="endingOdometerReading" placeholder="End odometer reading" width="80px">
<br><br>
<input type="number" id="daysRented" name="daysRentedCar" placeholder="Days rented" size="50px">
<br><br>
<input type="submit" id="submit" value="Submit"/>
<br><br>
Miles Driven: <input type="number" id='miles' min="1" max"10000" readonly="" />
Total Cost: <input type="number" id='result' min="1" max"10000" readonly="" />
<br><br>
Summary: <textarea cols="30" rows="2" name="thetextarea" id="textarea"> </textarea>
<br><br>
<input type="reset" value="Reset">
</form>
<hr>
</div>
</body>
行驶里程:
总成本:
总结:
这里有一些地方不对劲
您的条件语句有一个问题:
if(isset($_POST['submit'])) {
它正在寻找一个名为“submit”的命名元素,而您的submit按钮没有命名
<input type="submit" id="submit" value="Submit"/>
那你有
$message = $_POST['textarea'];
但是您的文本区域被命名为name=“thetextarea”
- 两者的名称都需要匹配
+
echo $result + $message;
那应该是一个点。+
符号是一种JS/C++连接方法,如果其中一个变量包含字符串
echo $result . $message;
或
如果它是一个由两个变量组成的数学方程,那么是的;这可能是一个有效的运算符,但在本例中不是,因为您试图从$message
变量回送,该变量代表“textarea”,即“text”而不是整数
旁注:为确保确实向POST数组传递了一个整数,请向其添加(int)
。示例:$x=(int)$\u POST['beginingodometerreading'代码>
编辑:我在您的表单中发现了更多错误
您有两个max“10000”
实例,它缺少一个等号max=“10000”
您可能缺少这两个属性的名称属性(我已经概述了这两个属性缺少=
符号,表示max“10000”
)
对于这两个错误,错误报告将发出未定义索引通知的信号
添加到文件的顶部,这将有助于查找错误
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
使用echo语句,比如
我不确定您是否看到了我的答案,但自从我最初发布后,我做了一些编辑,出现了许多语法错误。如果您看到了,您需要重新加载它。您还需要检查PHP以匹配您可能未包含的任何POST数组/变量。所有POST数组都必须匹配相关输入。@Fred ii-所有人r编辑已应用。总计现在显示在页面顶部。现在关于“行驶里程:和总成本:”我如何将bOdometer-eOdometer的结果输入到“英里”框中,将总计输入到“结果”框中框?如果您想在文本区域内回音,只需执行类似于
的操作,但需要对其使用条件语句或三元运算符。否则,它将抛出未定义的变量通知。您还可以使用我的代码重写原始问题,而不将其标记为编辑。我执行了对原始问题的回滚。人们会看到你的新代码,并将其与我的代码进行比较,然后思考/说:“你的代码与OP的代码相同,那么为什么会有答案?”我会被否决的。@Fred ii-对Stackoverflow有些陌生,我很抱歉。我该如何做面积的等价物。value='Name:'+customerName+'\nAddress:'+CustomerAddd+'\nTotal Cost:$'+totalCost+';}在PHP中?@user9018我相信我回答了原来的问题,但之后你又添加了这个问题。如果你想显示多个变量,如我在回答中所示,用一个点连接它们,例如,echo$result.““$message;
这就是PHP的工作方式。
echo $result . $message;
echo $result . " ". $message;
Miles Driven: <input type="number" id='miles' min="1" max"10000" readonly="" />
Total Cost: <input type="number" id='result' min="1" max"10000" readonly="" />
<?php
if(isset($_POST['submit'])) {
$x = $_POST['beginningOdometerReading'];
$y = $_POST['endingOdometerReading'];
$z = $_POST['daysRentedCar'];
$miles = $y - $x;
$result = (15 * $z) + ($miles * 0.12);
$message = $_POST['thetextarea'];
echo $result . " " . $message; }
else { echo "Error"; }
?>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
Try to give name for input type `submit` button like
<input type="submit" name="submit" id="submit" value="Submit"/>
<form action="index4.php" method="post" name="Main" id="Main">
echo $result,$message; }