我一直在使用这段代码:
<html>
<head>
<script>
function validatePfin() {
var x1 = document.forms["pfin"]["cash"].value;
var x2 = document.forms["pfin"]["all_assets"].value;
var x3 = document.forms["pfin"]["all_debt"].value;
if (x1 == null || x1 == "") {alert("Please enter Cash Amount.");}
else {
if (x2 == null || x2 == "") {alert("Please enter Non-Cash Assets.");}
else {
if (x3 == null || x3 == "") {alert("Please enter Total Debt.");}
else {
document.getElementById('sub1').value='Processing, please wait ... ';
document.getElementById('sub1').disabled=true;
form.submit();
}}}
return false;
}
</script>
</head>
<body>
<table>
<form method="POST" name="pfin" autocomplete="on" target="vframe" action="p_financials_s.php" enctype="multipart/form-data" onsubmit="return validatePfin()">
<tr><td>
<select name="cash" id="cash">
<option value="<?php echo $row['cash'];?>" selected><?php echo $row['cash'];?></option>
<option value="">Select</option>
<option value="0" >0</option>
<option value="1000" >1000</option>
</select>
<tr><td>
<select name="all_assets" id="all_assets">
<option value="<?php echo $row['all_assets'];?>" selected><?php echo $row['all_assets'];?></option>
<option value="">Select</option>
<option value="0" >0</option>
<option value="1000" >1000</option>
</select>
<tr><td>
<select name="all_debt" id="all_debt">
<option value="<?php echo $row['all_debt'];?>" selected><?php echo $row['all_debt'];?></option>
<option value="">Select</option>
<option value="0" >0</option>
<option value="1000" >1000</option>
</select>
<tr><td>
<input type="submit" id="sub1" class="back1" value="Save And Go To Next Step >">
</table>
</form>
</body></html>
这是从代码中削减的剪辑。它的作用是在提交时,表单检查字段是否有值,如果没有,则停止提交。
我想知道的是,如何使用PHP / javascript(或?),我可以阅读&#39;表单字段,检查它是否有值,并使其成为条件语句的变量,无需提交并发布到数据库。
例如,让我们说我想要&#34;现金&#34;如果值为true,那么我可以将其作为一个条件,让我们说,显示一个链接:
<?
$cash1 = form.field.not-yet-sumbitted.cash
if( $cash1 != "") {
echo "http://examplesite.com";
}
?>
我尝试在javascript中使用onchange事件以某种方式带来&#34;现金&#34;变量进入内存,然后一旦完成,不知何故有PHP变量捡起它,但这并不会激发。
答案 0 :(得分:0)
由于您将表单作为 POST 提交到 p_financials_s.php ,因此您可以在该文件中轻松获取全局 $ _ POST中任何字段的值数组。 e.g。
$field1 = $_POST['field1'];
然后您只需添加对该字段的检查即可。如果您只想验证事物然后提交表单,可以在javascript端添加验证。
答案 1 :(得分:0)
由于其客户端的性质和能力,您最好通过JavaScript中的AJAX调用来实现目标。 PHP是一种服务器端语言,这意味着如果不提交<form>
(至少本身),PHP就无法解释它。
一种常见的方法是实现jQuery库的$.ajax()
功能,有效地允许您向PHP脚本发送POST
或GET
信息,而无需离开页面或提交表单本身,例如通过onclick
来电。
示例可以在此处的文档中找到(在文档的底部):http://api.jquery.com/jquery.ajax/。