首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在将textbox 1和textbox 2的总和放入textbox 3

正在将textbox 1和textbox 2的总和放入textbox 3
EN

Stack Overflow用户
提问于 2015-07-09 22:35:12
回答 5查看 7.9K关注 0票数 2

我有三个文本框,我想在textbox 1和textbox 2中放置一个值,然后将它们相加,得到textbox 3中的结果。使用下面的代码,我可以让它回显到屏幕上,但是如果我省略了回显,那么在T1 andT2中放置数字后什么也不会发生。有人能告诉我我哪里做错了吗?

代码语言: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" >
        <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);
}

?>
EN

回答 5

Stack Overflow用户

发布于 2015-07-09 22:46:38

在T1 andT2中输入数字后,

没有任何反应

PHP是一种服务器端语言。你不能期望PHP能实时运行...

输入值需要转到服务器,然后PHP server可以在服务器上计算您的值,然后刷新后,结果出来…

如果你想写一个实时计算器,你需要用javaScript来写。当然,您可以使用AJAX或其他任何工具来实现这一点,但javaScript是一种简单快捷的方法。

试试这个:

代码语言: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>

票数 2
EN

Stack Overflow用户

发布于 2015-07-09 22:42:23

对于字符串:

代码语言:javascript
复制
$text_entry3 = ($text_entry.$text_entry2);

在php中,你可以把字符串和.在他们之间。

对于Integer:

代码语言:javascript
复制
$text_entry3 = ((int)$text_entry + (int)$text_entry2);

当你从你的from中获得字符串时,你需要对它们进行强制转换,如果没有强制转换,它们就不会那么容易相加。

为了放置它:

正如阿拉沃纳所说的那样:你应该在输出html之前做好所有的计算。Php是动态的。HTML不是。因此,您需要将动态部分放入静态部分

在开始时创建<?php ... ?>,然后使用以下命令输出结果:

代码语言:javascript
复制
<input type = "text" name = "text3" value="<?=$text_entry3;?>" >
票数 1
EN

Stack Overflow用户

发布于 2015-07-09 22:50:31

我认为你的代码应该是这样的:

代码语言:javascript
复制
<?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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31320646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档