我有这种结构JSP
<c:forEach var="test" value="${test}">
<table>
<tr>
<td><textarea class="no-resize" id="comments"></textarea></td>
<td><select class="select"> ... </select> </td>
<td><textarea class="no-resize" id="reason"></textarea></td>
<td><textarea class="no-resize" id="description"></textarea></td>
</tr>
</table>
</c:forEach>
和一个保存按钮:
<button class="btn " type="submit" form="controller" name="save" value="save" id="save" onclick="return onSave()">Save</button>
每行基本上都是空的,我想要做的是,当点击保存按钮时,仅在以下情况下提交:
- 更改的行必须填写所有字段
- 否则所有字段将保持为空
如果可能的话,使用 jQuery。
到目前为止我尝试的是:
var isFilled = true;
$(".no-resize[id='comments']").each(function(){
$(this).change(function(){
if(!$(this).val() == ''){
setTextBox(false);
}else{
setTextBox(true);
}
});
});
function setTextBox(isEmpty)
{
isFilled = isEmpty;
}
function onSave()
{
return isFilled;
};
上面的代码检查 是否textarea
已id comments
更改,如果它为空,它将设置为isFilled
,false
因此提交将失败。我所做的代码的问题是当我用它更改两个textarea
时id of comments
它只会检查最后一个更改textarea
。
知道如何解决这个问题吗?