【问题标题】:Changing the value of form property in javascript with Struts 1.3使用 Struts 1.3 在 javascript 中更改表单属性的值
【发布时间】:2015-07-21 19:29:37
【问题描述】:

我有一个问题,我不知道如何解决它。我想在 javascript 中更改表单的属性。我是这样做的:

$(document).ready(function() {

$("#submitCheckbox").click(function() {
    if($('#abc').prop('checked')==false){
        $('#abc').val(false);
        var a;
        a=$('#abc').val();
        alert(a);
    }
});
});

我的 JSP:(它只是一部分,它在表单中)

<html:checkbox property="abc" value="1" styleId="abc" />
            <bean:message key="label.form.abc" />

<html:submit styleClass="btn btn-primary" styleId="submitCheckbox">
                <bean:message key="button.continue" />
            </html:submit>

在我的操作中我有(abc 是表单中的一个属性,它具有 getter 和 setter 并正确发送值):

System.out.println(registration.isAbc());

好的,所以当我选中一个复选框时,它会将 abc 值设置为 1(true)。但是当我转到下一页然后返回带有复选框的页面并取消选中之前选中的页面时,我希望将其值设置为零/假。 Java脚本警报显示该值等于false(所以我认为它改变了)但是当我转到下一页时它仍然等于true(所以它没有改变)。

那么,如何在 java 脚本中更改表单属性的值,以便表单记住它呢?

【问题讨论】:

  • 你有方法getAbc()吗?

标签: javascript jquery struts struts-1


【解决方案1】:

您可以添加一个隐藏字段来保存未选中的值

<html:hidden property="abc_unchecked"/>

具有相同的属性类型和值,例如abc,但名称不同。现在,当复选框更改状态时,javascript 应该修改其值。

<script type="text/javascript">
$(document).ready(function() {
$("#abc").change(function() {
    if($("#abc").prop("checked")==false){
        $("#abc_unchecked").val(false);
        var a;
        a=$("#abc_unchecked").val();
        alert(a);
    } else {
        $("#abc_unchecked").val(true);
        var a;
        a=$("#abc_unchecked").val();
        alert(a);
    }
});
});
</script>

然后在验证之前的操作或表单中,您应该检查未检查的值

if (isAbc_unchecked()) 
  setAbc(false);
} else {
  if(!isAbc()){
    setAbc(true);
  }
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-12
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    相关资源
    最近更新 更多