Javascript I';我使用struts2,i';我询问有关单选按钮验证的问题<;s:收音机>;

Javascript I';我使用struts2,i';我询问有关单选按钮验证的问题<;s:收音机>;,javascript,validation,struts2,radio-button,Javascript,Validation,Struts2,Radio Button,我用其他组件测试了这段javascript代码,它运行得很好,但用这段代码什么也做不了 我还测试了frm.elements['Gender']false但它不返回任何内容。认为标记将替换为类似的内容: function valider() { frm=document.forms['frmSaisie']; if(frm.elements['Gender'].value != "") { return true; } e

我用其他组件测试了这段javascript代码,它运行得很好,但用这段代码什么也做不了

我还测试了
frm.elements['Gender']false
但它不返回任何内容。

认为
标记将替换为类似的内容:

function valider() { 

    frm=document.forms['frmSaisie']; 

    if(frm.elements['Gender'].value != "")  {       
        return true; 
    } 
    else { 
        alert("Please choose your gender"); 
        return false; 
    }
 } 
认为
标记将替换为类似的内容:

function valider() { 

    frm=document.forms['frmSaisie']; 

    if(frm.elements['Gender'].value != "")  {       
        return true; 
    } 
    else { 
        alert("Please choose your gender"); 
        return false; 
    }
 } 

:数据库的积垢!!在这种情况下,我必须执行几个类CreateAction UpdateAction..然后是CreateAction-validation.xml和UpdateAction validation.xml…但在这里,我面临一个对象创建问题以及更新和读取之间的变量..我必须使用从一个表单传递到另一个表单的ID无效。。我有3张表格,一张用于创建、列出、,编辑..要将参数从列表传递到编辑…这里我遇到了问题..我创建了一个额外的对象数据库Edited,我从另一个表单获得它..但是对象的创建是在类操作上的,这就是为什么我必须使用一个包含所有CRUD的操作..即使我使用静态..仍然是null java lang异常

这是我的表格数据库

function valider() {
  frm=document.forms['frmSaisie'];

  if(frm.elements[0].checked == true || frm.elements[1].checked == true)  {       
    return true;
  }
  else {
    alert("Please choose your gender");
    return false;
  }
}

身份证件
数据库
编辑
删除
我的数据库编辑表单

<s:form  action="createDb" method="POST" onsubmit="return valider()" id="frmSaisie">
<s:if test="dbs.size">
<table border="1px">
    <tr>

        <td>ID</td>
        <td>DataBase</td>


        <td></td>
    </tr>
    <s:iterator value="dbs">
        <tr>

            <td> <s:property value="dbaId"/> </td>
            <td> <s:property value="dba"/></td>

 <td class="tab-td">
<s:url id="update" action="redirect">
<s:param name="databaseEdited.dba" value="dba"/>
<s:param name="databaseEdited.dbaId" value="dbaId"/>
</s:url> 
<s:a href="%{update}">Edit</s:a>
</td >

<td class="tab-td">
<s:url id="delete" action="deletingDb">
<s:param name="databaseDeleted.dbaId" value="dbaId"/>
</s:url>
<s:a href="%{delete}"> Delete</s:a>
</td > 

        </tr>
    </s:iterator>
</table>
</s:if>


在我的动作课上:

<s:form action="updatingDb" method="post" >
    <s:div>
<% as you see i get params from databaseEdited object but the id i ought to put it manually in action class --%>

        <s:textfield label="DataBase" name="databaseEdited.dba" id=DB />
    </s:div>
    <br>
  <s:submit value="Submit" />

     <s:reset key="Cancel"/> 

        </s:form>   
package com.consoft.cv.action;
导入java.util.ArrayList;
导入java.util.List;
导入javax.naming.Context;
导入javax.naming.InitialContext;
导入com.consft.cv.entity.*;
导入com.consft.cv.model.*;
导入com.opensymphony.xwork2.ActionSupport;
公共类DBAction扩展了ActionSupport{
私有静态最终长serialVersionUID=1L;
专用DBMBLocal DBEjb;
专用数据库;
私有数据库编辑;
删除专用数据库;
私人上市星展银行;
私有静态int-uid;
公共DBAction(){
试一试{
Context Context=新的InitialContext();
DBEjb=(DBMBLocal)(context.lookup(“DBMB/local”);
dbs=新的ArrayList();
}捕获(例外e){
e、 printStackTrace();
}
}
公共字符串findAll(){
this.dbs=DBEjb.findAll();
返回“成功”;
}
公共字符串create()
{
创建(数据库);
返回“成功”;
}
公共字符串更新()
{//从重定向方法获取的UID
databaseEdited.setDbaId(uid);
更新(数据库编辑);
返回“成功”;
}
公共字符串删除()
{
delete(databaseDeleted);
返回“成功”;
}
公共字符串重定向()
{
//这是关键原因,在这里我可以保持传递ID到更新方法
**uid=databaseEdited.getDbaId();**
返回“成功”;
}
当然也有能手和二传手


由于这些问题,我无法使用STRUTS2验证:数据库的CRUD!!在这种情况下,我必须执行几个类CreateAction UpdateAction..然后是CreateAction-VALIDATION.xml和UpdateAction VALIDATION.xml…但是在这里我面临一个对象创建问题以及更新和读取之间的变量..我必须使用的ID使用didnt work从一个表单传递到另一个表单..我有3个表单,一个用于创建、列出、编辑..将参数从列出传递到编辑..这里我遇到了问题..我创建了一个额外的对象数据库编辑,然后从另一个表单获取..但是对象的创建是在类操作上的,这就是为什么我必须使用一个包含ll CRUD..即使我使用静态…仍然是空java语言异常

这是我的表格数据库

function valider() {
  frm=document.forms['frmSaisie'];

  if(frm.elements[0].checked == true || frm.elements[1].checked == true)  {       
    return true;
  }
  else {
    alert("Please choose your gender");
    return false;
  }
}

身份证件
数据库
编辑
删除
我的数据库编辑表单

<s:form  action="createDb" method="POST" onsubmit="return valider()" id="frmSaisie">
<s:if test="dbs.size">
<table border="1px">
    <tr>

        <td>ID</td>
        <td>DataBase</td>


        <td></td>
    </tr>
    <s:iterator value="dbs">
        <tr>

            <td> <s:property value="dbaId"/> </td>
            <td> <s:property value="dba"/></td>

 <td class="tab-td">
<s:url id="update" action="redirect">
<s:param name="databaseEdited.dba" value="dba"/>
<s:param name="databaseEdited.dbaId" value="dbaId"/>
</s:url> 
<s:a href="%{update}">Edit</s:a>
</td >

<td class="tab-td">
<s:url id="delete" action="deletingDb">
<s:param name="databaseDeleted.dbaId" value="dbaId"/>
</s:url>
<s:a href="%{delete}"> Delete</s:a>
</td > 

        </tr>
    </s:iterator>
</table>
</s:if>


在我的动作课上:

<s:form action="updatingDb" method="post" >
    <s:div>
<% as you see i get params from databaseEdited object but the id i ought to put it manually in action class --%>

        <s:textfield label="DataBase" name="databaseEdited.dba" id=DB />
    </s:div>
    <br>
  <s:submit value="Submit" />

     <s:reset key="Cancel"/> 

        </s:form>   
package com.consoft.cv.action;
导入java.util.ArrayList;
导入java.util.List;
导入javax.naming.Context;
导入javax.naming.InitialContext;
导入com.consft.cv.entity.*;
导入com.consft.cv.model.*;
导入com.opensymphony.xwork2.ActionSupport;
公共类DBAction扩展了ActionSupport{
私有静态最终长serialVersionUID=1L;
专用DBMBLocal DBEjb;
专用数据库;
私有数据库编辑;
删除专用数据库;
私人上市星展银行;
私有静态int-uid;
公共DBAction(){
试一试{
Context Context=新的InitialContext();
DBEjb=(DBMBLocal)(context.lookup(“DBMB/local”);
dbs=新的ArrayList();
}捕获(例外e){
e、 printStackTrace();
}
}
公共字符串findAll(){
this.dbs=DBEjb.findAll();
返回“成功”;
}
公共字符串create()
{
创建(数据库);
返回“成功”;
}
公共字符串更新()
{//从重定向方法获取的UID
databaseEdited.setDbaId(uid);
更新(数据库编辑);
返回“成功”;
}
公共字符串删除()
{
delete(databaseDeleted);
返回“成功”;
}
公共字符串重定向()
{
//这是关键原因,在这里我可以保持传递ID到更新方法
**uid=databaseEdited.getDbaId();**
返回“成功”;
}
当然也有能手和二传手


由于这些问题,我无法为那些仍想使用STRUTS2验证的人进行验证 这是我的单选按钮

package com.consoft.cv.action;

import java.util.ArrayList;
import java.util.List;



import javax.naming.Context;
import javax.naming.InitialContext;

import com.consoft.cv.entity.*;

import com.consoft.cv.model.*;

import com.opensymphony.xwork2.ActionSupport;

public class DBAction extends ActionSupport {


private static final long serialVersionUID = 1L;
private DBMBLocal DBEjb;
private DB database;
private DB databaseEdited;
private DB databaseDeleted;
private List<DB> dbs;
private static int uid;

public DBAction(){
    try {
        Context context=new InitialContext();
         DBEjb=(DBMBLocal) ( context.lookup("DBMB/local"));


        dbs=new ArrayList<DB>();
    } catch (Exception e) {
        e.printStackTrace();
    }

}

public String findAll() {
    this.dbs=DBEjb.findAll();
    return "success";
}
public String create()
{

    DBEjb.create(database);
    return "success";

}
public String update()
{//the UID got from redirect method
    databaseEdited.setDbaId(uid);

DBEjb.update(databaseEdited);
    return "success";

}
public String delete()
{

    DBEjb.delete(databaseDeleted);
    return "success";

}
public String redirect()
{
    //this is the key cause HERE I CAN KEEP PASS THE ID TO Update method
     **uid=databaseEdited.getDbaId();** 
    return "success";
}

对于那些仍然想使用相同的 这是我的单选按钮

package com.consoft.cv.action;

import java.util.ArrayList;
import java.util.List;



import javax.naming.Context;
import javax.naming.InitialContext;

import com.consoft.cv.entity.*;

import com.consoft.cv.model.*;

import com.opensymphony.xwork2.ActionSupport;

public class DBAction extends ActionSupport {


private static final long serialVersionUID = 1L;
private DBMBLocal DBEjb;
private DB database;
private DB databaseEdited;
private DB databaseDeleted;
private List<DB> dbs;
private static int uid;

public DBAction(){
    try {
        Context context=new InitialContext();
         DBEjb=(DBMBLocal) ( context.lookup("DBMB/local"));


        dbs=new ArrayList<DB>();
    } catch (Exception e) {
        e.printStackTrace();
    }

}

public String findAll() {
    this.dbs=DBEjb.findAll();
    return "success";
}
public String create()
{

    DBEjb.create(database);
    return "success";

}
public String update()
{//the UID got from redirect method
    databaseEdited.setDbaId(uid);

DBEjb.update(databaseEdited);
    return "success";

}
public String delete()
{

    DBEjb.delete(databaseDeleted);
    return "success";

}
public String redirect()
{
    //this is the key cause HERE I CAN KEEP PASS THE ID TO Update method
     **uid=databaseEdited.getDbaId();** 
    return "success";
}

您有name
cv.gender
和id
gender
如果是JS,您是否尝试过
getElementById()
方法?为什么不使用struts2验证器?我记下了答案,但如果您使用jquery-->我尝试过getElementById()这样的库,它也会更简单但是什么都不管用谢谢你的帮助一开始我很喜欢基于action类的struts2验证工作一切都很好!!但是只要我的项目变得更加困难和复杂,我就会面临很多问题,比如我必须