javascript - 如何清除h :inputtext in jsf

标签 javascript jsf

我是 java 服务器面孔的新手。当我单击提交按钮时,值将传递给 bean 方法和 inputText需要清除字段。但这里空值或传递,因为java脚本代码首先执行。如何发送这些值,然后清除 inputText领域?

这是我的代码。

index.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en"
      xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>Facelets </title>
    </h:head>
    <h:body >

        <h:form id="formdata" > 

            <b>FirstName </b> <h:inputText id="fname" value="#{hello.fname}"/><br/><br/>
            <b>LastName </b>  <h:inputText id="lname" value="#{hello.lname}"/> <br/> <br/>        
             <h:commandButton id="submit" value="Submit" action="#{hello.setStudentName()}"  onclick="submitForm()"/>
             <h:commandButton id="viewall" value="View All" action="display"  />
        </h:form> 

        <script language="JavaScript" type="text/javascript"> 
            function submitForm()
            {
                var frm = document.getElementsByName('formdata')[0];
                frm.reset();  // Reset
             }
        </script>

    </h:body>

Hello.java

import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name="hello")
@SessionScoped

public class Hello {

     String fname="";
     String lname="";


     ArrayList studentList=new ArrayList();

    public void setFname(String f) {
        fname=f;
    }

    public void setLname(String l) {
        lname=l;
    }

    public String getFname() {
        return fname;
    }

     public String getLname() {
        return lname;
    }

    public void setStudentName(){
       Student s=new Student(fname,lname);
       studentList.add(s);
    }

    public ArrayList getStudentList() {
        return studentList;
    }  
    public void setStudentList(){}   
}

index.xhtml获取输入值并分配给 bean(Hello.java)。 建议我一种可以在单击提交时提交值并清除 inputtext 的方法。字段。

最佳答案

您可以在 jsf bean 中进行清理:

 public void setStudentName(){
   Student s=new Student(fname,lname);
   studentList.add(s);
   fname = "";
   lname="";
}

关于javascript - 如何清除h :inputtext in jsf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30018192/

相关文章:

javascript - 我无法设置 CSS 来选择选择框选项

javascript - 如何将字符集添加到 Knex.js 连接字符串?

javascript - 选择父 ID 始终返回未定义

jsf - Java EE 中 web.xml 和 faces-config.xml 的用途?

jsf - 禁用 ="#{not recordsTransferSearch.isDisabled}"未调用 isDisabled() 方法

jquery - 如何为菜单项添加滚动条?

javascript - 如何在另一个 javascript 函数完成后执行它?

javascript - 如何检测所有现代浏览器中的页面缩放级别?

validation - 如何验证 JSF 中的多个字段?

jsf - Primefaces commandButton 仅适用于轮播组件的第一个条目