-1

我对 PHP 相当陌生,并试图为电子邮件表单构建一个动态部分,其中并排有两个文本框。第一个是数量,第二个是总量。

我希望它将第一个文本框乘以设定值 15,然后在第二个总文本框中显示结果,该文本框将是只读的。

关于我将如何解决这个问题的任何建议?多年来,我一直在网上搜索以寻求帮助,但似乎找不到任何帮助。

我现有的表单代码是这样的:

<table width="500" border="0" cellpadding="0" class="t4">
    <tr>
      <td width="48">Code</td>
      <td width="196">Event</td>
      <td width="56">Cost</td>
      <td width="66">Number</td>
      <td width="72">£ Total</td>
    </tr>
    <tr>
      <td>1</td>
      <td>Lifewriting Workshop</td>
      <td>£15</td>
      <td><input type="text" name="Number-of-Tickets" id="W1"></td>
      <td><input type="text" readonly="readonly" name="Total" id="W1"></td>
    </tr>
</table>
4

3 回答 3

0

工作演示

只是一个简单的演示,没什么花哨的。这是在 jquery 中,但我想逻辑是我们想要的。

$('input').on("keyup",function () {
    $("#result").val(parseInt($("#amount").val(), 10)*  15);
});
于 2013-07-24T22:06:24.043 回答
0

使用 javascript 您可以执行以下操作

 var text1 = document.getElementById('textbox1').value;
 document.getElementById('textbox2').value = parseInt(text1) * 15; //can use parseFloat() if you have floating point numbers

您输入数量的第一个文本框应该有一个id称为textbox1

<input type='text' id='textbox1' ...

第二个文本框应该有一个 id textbox2。只要您将相应的 id 放在 javascript 代码中以供参考,您就可以拥有任何您喜欢的 id。

此外,您需要从onkeydown事件或onchange事件调用的函数中触发此代码。在更改事件上,您会在输入数字后注意到更改一次,并将焦点从您textbox的调用事件中移开,您可以使用元素的事件属性触发它们。

<input type='text' id='textbox1' onkeydown='somejavascriptfunc()`

该解决方案使用纯 javascript 代码,来自 MESSIAH 的答案使用了一个名为的库jquery,它使您的生活更轻松。

于 2013-07-24T22:06:34.750 回答
0

PHP 是服务器端语言,因此为了进行一些计算,您需要向服务器发送请求。您可以在 PHP 中执行此操作,方法是制作所需的表单,将输入的值发送到服务器并再次生成页面,但结果填充只读字段。更好的方法是为此使用javascript,因为计算非常简单,不需要在服务器上运行。搜索 javascript 事件侦听器并查看 jQuery,它具有易于使用的函数,用于从字段中检索值和处理事件。

于 2013-07-24T22:09:57.873 回答