0

经过一些帮助和学习,我设法通过 JScript 更改了目标,但我似乎无法弄清楚如何制作变量或让它进行计算。

到目前为止,我的代码是(这些是三个表单框 + 一个提交按钮):

NUMBER
<input name="contact_build" 
       type="text" 
       id="contact_build" 
       value="<?php echo $row_contact['contact_build']; ?>" />



TYPE
<select id="contact_type" 
        name="contact_type" 
        onchange="targ.value=this.value" />
        <?php
        $specresult = mysql_query("SELECT * FROM `types` ORDER BY type_value");
        while ($specrow = mysql_fetch_array($specresult)) {
            echo '<option value="' . $specrow['type_name'] . '">' . $specrow['type_name'] . '</option>';
        }
        ?>
</select>



VALUE
<input name="contact_value" id="targ" value="<?php
        $var1 = $row_contact['contact_build'];
        $var2 = $row_value['type_value'];
        $total = round($var2 * $var1);
        echo "" . $total . "";
        ?>" />


<input type="submit" name="Submit2" value="Update" />

我想要做的是创建"TARG"变量"$VAR2",以便它可以计算出 VALUE 计算,然后在用户更改 TYPE 框中的选项后,在 VALUE 框中回显(或需要任何命令)答案。希望这是有道理的。

目前我已经设法让它在框中显示"TYPE"值。"VALUE"它忽略上面的任何“回声”命令。

我是不是看错了,应该用另一种方式来做?

PS:我知道是MYSQL;当我们谈论改变它时,我正在努力学习 PDO。:-) 但是目前,我只想使用我有基本知识的语言来解决这个问题。

4

2 回答 2

1

浏览下面的代码。

<body>

    <input name="contact_build" 
      type="text" 
      id="contact_build" 
      value="<?php echo $row_contact['contact_build']; ?>" />

    <select onchange="change(this.value)" >
        <option value="1"> 1</option>
        <option value="2"> 2</option>
        <option value="3"> 3</option>
    </select>

    <input type="text" id="targ" value="2"/>

    <script>
        function change(val) {
            var cnt_bld = document.getElementById("contact_build").value;
            var total_val = Math.round(parseInt(val) * parseInt(cnt_bld));
            document.getElementById("targ").value = total_val;
        }
    </script>

</body>

在上面的代码中,我调用了一个change(this.value)接受选择框值的函数。然后在函数中,我使用该值来更改输入字段的值。看document.getElementById。使用您的代码,您直接使用 aid代替。希望这可以帮助。

编辑 这一行

echo '<option value="' . $specrow['type_name'] . '">' . $specrow['type_name'] . '</option>';

如果您有这些名称和值,则可以这样做。

echo '<option value="' . $specrow['type_value'] . '">' . $specrow['type_name'] . '</option>';

假设您的另一个列名称为 type_value,其中值存储为 100,200 等,而 type_name 是好、更好或最好的名称。

于 2013-04-10T05:04:12.930 回答
0

希望这是您可能想要的

<html>
<body>
    <input name="contact_build"
       type="text"
       id="contact_build"
       value="10" />
    <select onchange="change(this.value)" >
        <option value="0">Select</option>
        <option value="1"> 1</option>
        <option value="2"> 2</option>
        <option value="3"> 3</option>
    </select>

    <input type="text" id="targ" value="0"/>

    <script>
        function change(val) {
            document.getElementById("targ").value = document.getElementById("contact_build").value*val;

        }
    </script>

</body>
</html>
于 2013-04-10T05:50:30.350 回答