Javascript 检查表单值以用作无需提交表单的条件

Javascript 检查表单值以用作无需提交表单的条件,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我一直在使用以下代码: <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 || x

我一直在使用以下代码:

<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 >">&nbsp;
</table>
  </form>
 </body></html>

函数validatePfin(){
var x1=文件格式[“pfin”][“现金”]。价值;
var x2=文件。表格[“pfin”][“所有资产”]。价值;
var x3=文件。表格[“pfin”][“所有债务”]。价值;
如果(x1==null | | x1==”){alert(“请输入现金金额”);}
否则{
如果(x2==null | | x2==”){alert(“请输入非现金资产”);}
否则{
如果(x3==null | | x3==”){alert(“请输入债务总额”);}
否则{
document.getElementById('sub1')。value='Processing,请稍候…';
document.getElementById('sub1')。disabled=true;
表单提交();
}}}
返回false;
}
挑选
0
1000
挑选
0
1000
挑选
0
1000
这是从代码中删减的片段。它所做的是在提交时,表单检查字段是否有值,如果没有,则停止提交

我试图弄清楚的是,如何使用PHP/javascript(或?)来“读取”表单字段,检查它是否有值,并将其作为条件语句的变量,而不必提交并发布到DB

例如,假设我希望“现金”值有一个值,如果这是真的,那么我可以将其作为一个条件来显示链接:

<? 
  $cash1 = form.field.not-yet-sumbitted.cash
 if( $cash1 != "") {
   echo "http://examplesite.com";
 }
?>


我曾尝试在javascript中使用onchange事件以某种方式将“cash”变量带到内存中,然后在完成后,以某种方式让PHP变量拾取它,但没有触发。

因为您将表单作为POST提交给p\u financials\u s.PHP,在该文件上,您可以简单地从全局$\u POST数组中获取任何字段的值。e、 g

$field1 = $_POST['field1'];

然后你可以简单地在这个字段上添加一个检查。如果您只想验证内容,然后提交表单,那么可以在javascript端添加验证。

您的目标是最好通过javascript中的AJAX调用来完成,因为它们具有客户端性质和功能。PHP是一种服务器端语言,这意味着如果不提交
(至少提交给自己),PHP将无法解释它

一种常见的方法是实现jQuery库的
$.ajax()
功能,有效地允许您
发布
从PHP脚本获取
信息,而无需离开页面或提交表单本身,例如通过
onclick
调用


示例可在此处的文档中找到(位于文档底部):。

代码中似乎没有任何jQuery,但从您的描述来看,可能有用。(将字段设为必填字段)