首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

请教这段js程序,检查输入是否非空,为什么没起作用

2012-05-08 
请问这段js程序,检查输入是否非空,为什么没起作用?JScript codescript typetext/javascriptfunction

请问这段js程序,检查输入是否非空,为什么没起作用?

JScript code
<script type="text/javascript">                           function check(){                                 var x=document.getElementsByName("username").value;                                 if(x==null || x==""){                                     alert("Please input username");                        return false;                                 }                               }    </script></head>        <body>               <form action="js.php" method="POST"  onsubmit="return check()">                          <input type="text" name="username"></input>                          <input type="submit" name="sub"></input>               </form>        </body>


[解决办法]
因为getElementsByName返回的是集合(哪怕只有一个元素),是无法直接用.value的
这样就可以了
var x = document.getElementsByName("username")[0].value;


[解决办法]
function check(){
var x=document.getElementsByName("username");//x结果是数组
for(i=0;i<x.length;i++){
if(x[i].value==null || x[i].value==""){
alert("Please input username");
return false;

}

 }

[解决办法]
Form 对象的 onsubmit 属性指定了一个事件句柄函数。当用户单击了表单中的 Reset 按钮而提交一个重置时,就会调用这个事件句柄函数。注意,当调用方法Form.submit() 时,该处理器函数不会被调用。

注意后面那句调用方法Form.submit() 时,该处理器函数不会被调用。

根据你的代码,在button中调用form.submit(),这个时候是不会触发form的onsubmit事件的。

以下随便取一
1.把button的type改为submit,不要显示调用form.submit()
2.显示调用form.submit(),在提交前验证form
[解决办法]
JScript code
var ctrip =  document.getElememntsByName("optctr_ip")[0].value; 

热点排行
Bad Request.