经过一些帮助和学习之后,我设法通过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计算,然后在VALUE框中回显(或者需要什么命令)答案,如用户更改TYPE框中的选项后。希望这是有道理的。
目前我设法让它在"TYPE"
框中显示"VALUE"
值。它忽略了上面的任何“echo”命令。
我是否正确地看待这种情况,应该采取另一种方式?
PS:我知道这是MYSQL;我正在努力学习PDO,因为我们正在改变它。 :-)但是目前,我只是想用我基本了解的语言来解决这个问题。答案 0 :(得分: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
。使用您的代码,您可以直接使用id
代替。希望这会有所帮助。
修改强> 这一行
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是好的,更好或更好的名称。
答案 1 :(得分: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>