我在编写订单提交页面时遇到了一个相当大的问题,该页面的目的是提交订单的争议-提供两个字段填写,但只有当一个字段小于另一个字段时。
基本上一个是下拉框,另一个是争议框,查询如下:
如果争端testextbox = "和下拉框= "Please Select…"
一切正常-提交按钮启用
如果testextbox = "和下拉框= "Please select…"
错误(反之亦然,所以如果争议填充但下拉=请选择…)-提交按钮禁用
如果
一切正常-提交按钮启用
错误-提交按钮被禁用
<table>
<thead>
<tr><th>Item ID</th><th>Description</th><th>Dispute Quantity</th><th>Shipped Quantity</th><th>Ordered Quantity</th><th>Reason</th></tr>
</thead>
<tbody>
<?php
$data = mysql_query("SELECT * FROM `artran09` WHERE `invno` = '$invoiceno'") or die(mysql_error());
echo "<center>";
$i = -1;
echo "<form action='"submitdispute.php?invno=".$invoiceno."&ordate=".$placed."'" method='"POST'" onsubmit='"return confirm('Are you sure you are ready to dispute your order?');'">";
while ($info = mysql_fetch_array($data)) {
$i += 1;
echo "<tr>";
echo "<td>".$info['item']."</td>";
echo "<td>".$info['descrip']."</td>";
echo "<td><input type='"text'" input name=".$i." onKeyPress='"return numbersonly(this, event)'" maxLength='"3'"></td>";
echo "<td><input type='"text'" value=".$info['qtyshp']." onKeyPress='"return numbersonly(this, event)'" maxLength='"3'" disabled='"disabled'"></td>";
echo "<td><input type='"text'" value=".$info['qtyord']." onKeyPress='"return numbersonly(this, event)'" maxLength='"3'" disabled='"disabled'"></td>";
echo "<td><select name = '"reason$i'">";
echo "<option>Please Select...</option>";
echo "<option>Short/Not received</option>";
echo "<option>Damaged Goods</option>";
echo "<option>Product Not Ordered</option>";
echo "</select></td>";
echo "</tr>";
}
?>
</tbody>
</table>
</div>
</div>
<p><input type = "submit" value = "Dispute" name ="Submit">
</form>
谢谢,希望有人能帮忙!
为Wolf/任何可以帮助的人编辑-这里的代码是怎么回事:
——我编辑的代码——
function validateSubmit(){
// this will loop through each row in table
// Make sure to include jquery.js
$('tr').each( function() {
// Find first input
var input1 = $(this).find('input').eq(0);
var qty1 = input1.val();
// Find Second input
var input2 = $(this).find('input').eq(1);
var qty2 = input2.val();
// Find third input
var input3 = $(this).find('input').eq(2);
var qty3 = input3.val();
// Find select box
var selectBx = $(this).find('select');
var selectVal = selectBx.val();
// Add your validation code here for the inputs and select
// Return true if all validations are correct
// Else return false
if(qty1 = "" && selectVal = "Please Select...") {
return true;
alert("You have an error somewhere, please check over your quantites.");
break;
}
if (qty1 > qty2) {
return false;
alert("You have an error somewhere, please check over your quantites.");
break;
}
});
}
return true;
alert("You have an error somewhere, please check over your quantites.");
break;
如果调用return,将立即停止当前函数的执行并返回值。这意味着return语句之后什么都不执行。alert()
将不会运行,因为函数以return true
结束。