我有三个文本框,我想在textbox 1和textbox 2中放置一个值,然后将它们相加,得到textbox 3中的结果。使用下面的代码,我可以让它回显到屏幕上,但是如果我省略了回显,那么在T1 andT2中放置数字后什么也不会发生。有人能告诉我我哪里做错了吗?
<html>
<head>
<title>My Page</title>
</head>
<body>
<br>
<form name="myform" action="textentry2.php" method="POST">
<input type = "submit" name = "submit" value = "go">
<input type = "text" name = "text1" >
<input type = "text" name = "text2" >
<input type = "text" name = "text3" >
<?php
$text_entry = $_POST['text1'];
$text_entry2 = $_POST['text2'];
$text_entry3 = $_POST['text3'];
{
$text_entry3 = ($text_entry + $text_entry2);
echo ($text_entry3);
}
?>发布于 2015-07-09 22:46:38
在T1 andT2中输入数字后,
没有任何反应
PHP是一种服务器端语言。你不能期望PHP能实时运行...
输入值需要转到服务器,然后PHP server可以在服务器上计算您的值,然后刷新后,结果出来…
如果你想写一个实时计算器,你需要用javaScript来写。当然,您可以使用AJAX或其他任何工具来实现这一点,但javaScript是一种简单快捷的方法。
试试这个:
<html>
<head>
<title>My Page</title>
</head>
<body>
<br>
<form name="myform" action="textentry2.php" method="POST">
<input type="submit" name="submit" value = "go">
<input type="text" name="text1" onkeyup="calc()">
<input type="text" name="text2" onkeyup="calc()">
<input type="text" name="text3" >
</form>
<script>
function calc()
{
var elm = document.forms["myform"];
if (elm["text1"].value != "" && elm["text2"].value != "")
{elm["text3"].value = parseInt(elm["text1"].value) + parseInt(elm["text2"].value);}
}
</script>
</body>
</html>
发布于 2015-07-09 22:42:23
对于字符串:
$text_entry3 = ($text_entry.$text_entry2);在php中,你可以把字符串和.在他们之间。
对于Integer:
$text_entry3 = ((int)$text_entry + (int)$text_entry2);当你从你的from中获得字符串时,你需要对它们进行强制转换,如果没有强制转换,它们就不会那么容易相加。
为了放置它:
正如阿拉沃纳所说的那样:你应该在输出html之前做好所有的计算。Php是动态的。HTML不是。因此,您需要将动态部分放入静态部分
在开始时创建<?php ... ?>,然后使用以下命令输出结果:
<input type = "text" name = "text3" value="<?=$text_entry3;?>" >发布于 2015-07-09 22:50:31
我认为你的代码应该是这样的:
<?php
$text_entry1 = (int)$_POST['text1'];
$text_entry2 = (int)$_POST['text2'];
$text_entry3 = ($text_entry1 + $text_entry2);
?>
<html>
<head>
<title>My Page</title>
</head>
<body>
<br>
<form name="myform" action="textentry2.php" method="POST">
<input type = "submit" name = "submit" value = "go">
<input type = "text" name = "text1" value = "<?php echo $text_entry1 ?>" >
<input type = "text" name = "text2" value = "<?php echo $text_entry2 ?>" >
<input type = "text" name = "text3" value = "<?php echo $text_entry3 ?>" >
</form>
</body>
</html>https://stackoverflow.com/questions/31320646
复制相似问题