我想询问是否可以在不提交表单的情况下从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>
正如你所看到的,我需要从付款基础中选择,然后输入首期付款。如何让余额字段自动显示余额?我只需要减去基础预付款,差额将存入平衡字段。
请帮助任何人。 谢谢。
答案 0 :(得分:1)
PHP完全在服务器端工作 - 您无法仅使用PHP提交表单而无法获取输入元素的值。 然而,您可以使用Javascript执行此操作 - 这在客户端而不是服务器端运行 - 它在用户的计算机上执行,而不是在服务器上执行。这意味着它可以在页面上运行。 Javascript可以为您获取表单元素的值。
像PHP需要name
属性来确定哪个输入字段包含哪些信息,Javascript需要id
属性来获取输入字段的值。首先,这是HTML代码:
<input type="text" id="myAwesomeIdName">
现在,你需要&#34;得到&#34;元素 - 这将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>
&#13;
答案 1 :(得分:0)
你需要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时,用户可以提交表单。