重视我提交这份表单之前需要验证:校验和的选择
<form action="<?php echo $editFormAction; ?>" method="POST" id="form1" name="contract">
<table class="myp-table">
<tr>
<td>Value Test</td>
</tr>
<?php do { ?>
<tr>
<td><select name="playerContract[]">
<option value="0" <?php if (!(strcmp(0, $row_datacontract['playerContract']))) {echo "selected=\"selected\"";} ?>>0</option>
<option value="1" <?php if (!(strcmp(1, $row_datacontract['playerContract']))) {echo "selected=\"selected\"";} ?>>1</option>
<option value="2" <?php if (!(strcmp(2, $row_datacontract['playerContract']))) {echo "selected=\"selected\"";} ?>>2</option>
<option value="3" <?php if (!(strcmp(3, $row_datacontract['playerContract']))) {echo "selected=\"selected\"";} ?>>3</option>
</select></td>
</tr>
<?php } while ($row_datacontract = mysql_fetch_assoc($datacontract)); ?>
<tr>
<td><input class="linkbuttonmp" name="contract" type="submit" value="Invio" /></td></tr>
</table>
</form>
由用户选择的值的总和不得超过默认值,其在我的情况下,是从检索到的值我数据库。
我用jQuery试过这样:
var max = 3;
$("#form1 select").change(function() {
var selects = <?php echo $row_datacoach['coachContract']; ?>;
$("#form1 select").each(function() {
selects = selects + parseInt($(this).val());
});
if(selects >= max) {
$("#submit").attr("disabled","disabled");
} else {
$("#submit").removeAttr("disabled");
}
});
遗憾的是它不工作。
你能帮我吗?
UPDATE
抱歉,我犯了一个错误:下面是脚本其实我试过:
<script type="text/javascript">
var max = <?php echo $row_datacoach['coachContract']; ?>;
$("#form1 select").change(function() {
var selects = 0;
$("#form1 select").each(function() {
selects = selects + parseInt($(this).val());
});
if(selects >= max) {
$("#submit").attr("disabled","disabled");
} else {
$("#submit").removeAttr("disabled");
}
});
</script>
您的形式没有一个ID' – adeneo
一旦你修好了(注意,为了这个目的,'.prop()'方法比'.attr()'更好,特别是因为你可以简化为'$(“#submit”)。prop(“disabled” > = max);'。 (我希望你提供一些说明,告诉用户为什么提交按钮可能会被禁用,或者他们需要做些什么来重新启用它...) – nnnnnn
@nnnnnn - 刚才输入的那个? – adeneo