繁体   English   中英

将值从&lt;%%&gt;传递给<script> (JSP)

[英]Pass a value from <% %> to <script> (JSP)

我有以下代码,我想知道是否有一种方法可以在标签部分中使用变量“ prov”

   <% 
        String prov;
        if(request.getParameter("btnBusProv")!= null)
        {
            prov = request.getParameter("cbProv");
            out.println("Nombre del proveedor: ");
            out.println(prov);
        }
    %>
    <script>
        function MostrarNombres()
        {
            document.getElementById("txtRUC").value = prov;
            document.getElementById("txtFec").value = prov;
            document.getElementById("txtDIR").value = prov;
        }
    </script>

您可以为此使用隐藏变量,例如:

 <input type="hidden" id="prov" value='<%=request.getParameter("cbProv") %>' >

然后,在脚本块中:

var obj = document.getElementById("prov");

当您需要的只是请求参数的值时,无需使用隐藏的输入元素。 使用${param.cbProv}无需脚本即可访问该值。

<script>
    var prov;
    <c:if test="${not empty param.btnBusProv}">
        prov = '${param.cbProv}';
    </c:if>

    function MostrarNombres()
    {
        document.getElementById("txtRUC").value = prov;
        document.getElementById("txtFec").value = prov;
        document.getElementById("txtDIR").value = prov;
    }
</script>

您可以使用JSP表达式:

<script>
    function MostrarNombres()
    {
        document.getElementById("txtRUC").value = <%=prov%>;
        document.getElementById("txtFec").value = <%=prov%>;
        document.getElementById("txtDIR").value = <%=prov%>;
    }
</script>

或更直接的方法是直接在隐藏的html dom元素中设置它并使用它:

<input id='prov' type="hidden" value='<%=request.getParameter("cbProv")%>'>

<script>
    function MostrarNombres()
    {
        var prov = document.getElementById('prov').value;
        document.getElementById("txtRUC").value = prov;
        document.getElementById("txtFec").value = prov;
        document.getElementById("txtDIR").value = prov;
    }
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM