Jquery对话框文本框值绑定不起作用

时间:2014-10-28 16:10:43

标签: jquery jsf

我无法从jquery对话框中获取文本框值,下面是我的代码

$("#printbutton").click(function() {
        $("#print").dialog("open");
    });

$("#print").dialog({
        autoOpen : false,
        modal : true,
        resizable : false,
        draggable : false,
        show : {
            effect : "fade"
        },
        hide : {
            effect : "fade"
        },
        open: function (type, data) {
            $(this).parent().appendTo("form");
        }
    });

JSF代码

<h:form> 
  <h:panelGroup layout="block" id="print">
    <h:inputText value="#{bean.text1}" id="text1"/>
    <h:inputText value="#{bean.text2}" id="text2"/>
    <h:inputText value="#{bean.text3}" id="text3"/>
    <h:commandButton action="#{bean.button} id="printbutton">
  </h:panelGroup>
</h:form>

Java代码

String text1;
String text2;
String text3;

public String getText1() {
    return text1;
}

public void setText1(String text1) {
    this.text1 = text1;
}

public String getText2() {
    return text2;
}

public void setText2(String text2) {
    this.text2 = text2;
}

public String getText3() {
    return text3;
}

public void setText3(String text3) {
    this.text3 = text3;
}

public void button(){
    System.out.println(text1);
    System.out.println(text2);
    System.out.println(text3);
}

我可以从jsf页面调用button方法。 但是我的java代码中的所有三个文本框都获得了空值。请帮帮我。

1 个答案:

答案 0 :(得分:1)

删除

$("#printbutton").click(function() {
        $("#print").dialog("open");
    });

按照以下方式更改按钮:

<h:commandButton action="#{bean.button} 
                 id="printbutton"
                 oncomplete="$('#print').dialog('open');"
/>

(我想jquery能够找到所有相关的id)