私の体にはこのような構造があります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
ため、送信は失敗します。私が行ったコードの問題は、最後に変更されたもののみをチェックするように2つ変更textarea
したときです。id of comments
textarea
これを解決する方法はありますか?