自动按钮单击无法在JSF

时间:2017-04-30 12:13:43

标签: javascript jsf jsf-2

我试图通过调用javaScript中的按钮将表单中的值传递到JSF中的bean中,但由于某种原因它不起作用。请看一下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core">

<head>
<title>Dropdown List</title>
</head>
<body>
    <select id="mySelect" onchange="myFunction()">
        <h:outputText value="#{helloWorld.getResultSet1()}" escape="false" />
        <f:attribute name="action" value="1" />
    </select>
    <br />

    <h:form id="formId">
        <h:inputHidden id="x" value="#{helloWorld.text}" />
        <h:commandButton id = "x1" value="submit" action="#{helloWorld.submit}" />
    </h:form>

    <select id="mySelect1">
    </select>

    <script>
        var x1 = document.getElementById("mySelect1");
        x1.style.display = 'none';

        function myFunction() {
            var x = document.getElementById("mySelect").value;

            document.getElementById("formId:x").value = x;
            document.getElementById("formId").submit();

            x1.style.display = 'block';

        }
    </script>
</body>
</html>

可能导致问题的原因是什么?也许我做错了什么?

1 个答案:

答案 0 :(得分:0)

而不是

document.getElementById("formId").submit();

请使用

document.getElementById("formId:x1").click();

提交表格。