我有一个带有3个复选框的表单,每个复选框下都有一个文本区域。
HTML:
<form>
<input class="checkbox" id="checkboxsection1" type="checkbox" name="section1">Section 1<br/>
<textarea name="section1textarea"> Sample </textarea><br/>
<input class="checkbox" id="checkboxsection2" type="checkbox" name="section2">Section 2<br/>
<textarea name="section2textarea"> Sample </textarea><br/>
<input class="checkbox" id="checkboxsection3" type="checkbox" name="section3">Section 3<br/>
<textarea name="section3textarea"> Sample </textarea><br/>
<input type="submit" class="submit" value="Submit"/>
我现在拥有代码的方式是当取消选中该复选框时隐藏textarea,并在使用jqueryUI切换功能选中复选框时可见。
我正在使用的代码比上面更复杂(我已经为了这个问题简化了它),但是在我的情况下我无法删除textarea,因为我有canvas元素和javascript调用它并依赖它输入。如果需要更多信息,我将为上面的代码增加更多的复杂性。
提交表格后,所有内容都会传递到购物车。我想知道是否有任何方法阻止textarea被传递到购物车,如果上面的复选框上面的textarea仍未选中,而实际上没有删除textarea。
答案 0 :(得分:2)
根据this question's accepted answer,禁用字段不会被发布。
您可以通过调用:
来禁用textarea$('textarea[name=section1textarea]').prop('disabled', true);
通过调用:
重新启用它$('textarea[name=section1textarea]').prop('disabled', false);
<强>更新强>
我只是想补充一下,复选框值会在选中时发布,所以我会在未选中相应的复选框时忽略已发布的textarea值,而不用打扰禁用textareas。或者两者都是安全的。