红色部分取不到值,不知为什么? function trim(s)
{
alert("trim(s)" + " " + s);
return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
} function validate(form)
{
var errStr = "";
alert("validate");
var username = trim(form.user.name.value);
var userpassword = trim(form.password.value);
if (username == "" || username == null)
{
errStr += "您的用户名必须输入";
}
if (userpassword =="" || userpassword == null) {
errStr += "请输入密码";
} if (errStr == "")
{
return true;
}
else
{
alert(errStr);
return false;
}
}
<s:form action="Login" onsubmit="validate(this)">
<table>
<tr>
<!-- 生成一个用户名文本输入框 -->
<s:textfield name="user.name" label="用户" />
<s:textfield name="user.password" label="密码" />
</tr>
<tr>
<s:submit value="登录"/>
</tr>
</table>
</s:form>
{
alert("trim(s)" + " " + s);
return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
} function validate(form)
{
var errStr = "";
alert("validate");
var username = trim(form.user.name.value);
var userpassword = trim(form.password.value);
if (username == "" || username == null)
{
errStr += "您的用户名必须输入";
}
if (userpassword =="" || userpassword == null) {
errStr += "请输入密码";
} if (errStr == "")
{
return true;
}
else
{
alert(errStr);
return false;
}
}
<s:form action="Login" onsubmit="validate(this)">
<table>
<tr>
<!-- 生成一个用户名文本输入框 -->
<s:textfield name="user.name" label="用户" />
<s:textfield name="user.password" label="密码" />
</tr>
<tr>
<s:submit value="登录"/>
</tr>
</table>
</s:form>
试下document.form
<s:form action="Login" name="form1" onsubmit="validate(form1)">
试试。。
我改为
function validate(form)
{
var errStr = "";
if(form == document) {
alert("documnet");
}
else {
alert("form");
}
var username = trim(form.user.name.value);
var userpassword = trim(form.user.password.value);打印出来"form",不知这样能不能判断参数form不是document?
1.我修改为
function validate(form)
{
var errStr = "";
alert(form.user.name.value);
var username = trim(form.user.name.value);
var userpassword = trim(form.user.password.value);
...
打印不出任何信息(没有弹出对话框)。
2.为form增加name属性<s:form action="Login" name="user" onsubmit="validate(this)">
function validate(form)
{
var errStr = "";
alert(form.name.value);
...
打印出undefined。
3.<s:textfield name="name" label="用户" />这样写textfield的name是"name"吧?
在function validate(form)中可以用form.name.value取到值
<s:textfield name="user.name" label="用户" />这样写textfield的name如果是"user.name"的话
如何在function validate(form)中取到该textfield的值
试过该修改
function validate(form)
{
var errStr = "";
alert(form.user.name.value);
没有对话框弹出。
t他首先在window 中 又在document中 form 包含在docuement中
我试着alert(document.form.user.name.value);
但是没有对话框弹出。
我觉得那个validate(this)传入的是当前form
一般获取value的值是用document.form(Form名字).name(属性名字).value;
如果没有名字这样是获得不到的,给form起个名字或者Form【个数】第几个就写第几个