我想问是否有可能从HTML表单中获得值而不提交表单?我不能得到这个工作在HTML或php,或者也许我错过了一些东西。请帮助。请看下面我的工作代码:
<FORM name="myForm" action="confirmsold.php" method="post" onsubmit="return validateFormLay()">
<table border=0 width="550" cellspacing=1 cellpadding=3 bgcolor="#353535" align="center">
<tr>
<td bgcolor="#ffffff">Price Basis:</td>
<td bgcolor="#ffffff">
<?php
$connect = mysqli_connect("localhost","root","ilovegym") or die(mysqli_connect_error());
mysqli_select_db($connect, "laborsa") or die(mysqli_error());
$sql = "SELECT Cash_Price,3months,6months,12months,18months FROM itemmaster where Item_Number='".$_SESSION['ITEM#']."'";
$result = mysqli_query($connect,$sql);
echo "<select name='basis'>";
while ($row = mysqli_fetch_array($result)) {
echo "<option value='" . $row['Cash_Price'] ."'>" . $row['Cash_Price'] ." - ".CashPrice."</option><option value='" . $row['3months'] ."'>" . $row['3months'] ." - ".ThreeMonths."</option><option value='" . $row['6months'] ."'>" . $row['6months'] ." - ".SixMonths."</option><option value='" . $row['12months'] ."'>" . $row['12months'] ." - ".TwelveMonths."</option><option value='" . $row['18months'] ."'>" . $row['18months'] ." - ".EighteenMonths."</option>";
}
echo "</select>";
?>
</td>
</tr>
<tr>
<td bgcolor="#ffffff">Downpayment:</td>
<td bgcolor="#ffffff"><INPUT type="TEXT" name="downpayment" size="12" maxlength="11" onkeypress="if ( isNaN( String.fromCharCode(event.keyCode) )) return false;"></INPUT></td>
</tr>
<tr>
<td bgcolor="#ffffff">Balance:</td>
<td bgcolor="#ffffff"><INPUT type="TEXT" name="laybalance" size="12" maxlength="11" onkeypress="if ( isNaN( String.fromCharCode(event.keyCode) )) return false;"></INPUT></td>
</tr>
正如你所看到的,我需要从下拉选择一个付款基础,然后我将输入首付款。如何让余额栏自动显示余额?我只需要减去基本首付款,差额将放在余额栏。
请帮助任何人。谢谢你。
客户端vs服务器端
PHP完全在服务器端工作——如果不单独使用PHP提交表单,就无法获得输入元素的值。然而,您可以使用Javascript来实现这一点——它在客户端而不是服务器端运行——它在用户的计算机上执行,而不是在服务器上。这意味着它可以在它们在页面上时运行。Javascript可以为您获取表单元素的值。
Javascript代码就像PHP需要name
属性来确定哪个输入字段包含什么信息一样,Javascript需要id
属性来获取输入字段的值。首先,下面是HTML代码:
<input type="text" id="myAwesomeIdName">
现在,您需要"获取"元素—这将返回HTML元素作为Javascript可以使用的对象。这可以使用函数document.getElementById(id)
来完成,其中id
是HTML元素的id。例子:
document.getElementById("myAwesomeIdName")
我们现在需要做的就是获取输入的value
属性——这是这样做的:
document.getElementById("myAwesomeIdName").value;
返回输入框的值
把它放在一起
下面的代码会弹出一个警告,显示输入框的内容:
<input type="text" id="myAwesomeIdName"><br><button onclick="alert(document.getElementById('myAwesomeIdName').value)">Show Value</button>
需要Javascript。给三个元素(<select>
, <input>
1和<input>
2)也一个id="yourid"
,写你的javascript代码会更舒服。
让第二个<input>
字段read-only
作为计算结果,而不是用户输入的值。
用javascript编写函数,并让函数在输入首付款时执行,例如oninput=mycode()
。但是,当用户更改<select>
,例如onchange=mycode()
时,也要执行该函数。
javascript函数执行此操作(对不起,没有代码,只有过程…)
-
获取用户选择的
<select>
事件的值 -
获取第一个
<input>
字段的值 -
减去这些值并将结果写入第二个只读
<input>
字段
一些注意事项:
-
最好让第一个
<option> </option>
显示"选择您的方法"或类似的东西,并将零值附加到它。然后可以确定该功能将由用户触发。 -
您使用的
<input>
元素是不正确的。它不应该有结束标签。据我所知,</input>
是不正确的html -
有点离题,但
<td bgcolor="#fff">
更好的可以是<td style="background:#fff">
当值OK时,用户可以提交表单。