js中关闭弹窗

来源:6-5 光标聚焦事件(onfocus)

慕村1994845

2016-09-07 21:52

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
    function message(){
		confirm("请选择,您现在的职业!");
		}
	function aceger(){
		alert("请先输入姓名!");
		}	
	function bceger(){
		alert("请先输入密码,再点击确认!");
		}	
	 function   cceger(){
		 confirm("是否已输入密码?已输入请按确认!");
		 if(confirm()==true){
			//这里该怎么写,才能让弹窗关闭
			 }
			 else{
				 return bceger();
				 }
					 }	
</script>
<style type="text/css">
*{margin:0; padding:0; font-size:14px; color:#03F;}
#move{float:right; margin-right:10px;margin-top:-10px;}
.pass{margin-top:5px;}/*div id="move",做css样式用#;div classs="pass"做css样式用.(英文的句号)*/
div:hover{color:#F00;}
</style>
</head>
<body>
  
   请选择您的职业:<br />
    <form>
        <select name="changer" onfocus="message()">
              <option>教师</option>
              <option>歌手</option>
              <option>演员</option>
              <option selected="selected">工程师</option><!--selected=""selected默认选中-->
              <option>律师</option>
        </select>
         <div id="move">
         姓名:<input name="username" type="text" value="请输入您的姓名"  onblur="aceger()"/><br />
         <div class="pass">
         密码:<input name="password" type="text" value="请输入密码" onmouseout="bceger()"  />
                  <input name="button" type="button" value="确认" onclick="cceger()" />                  
                  </div>
         </div>
         
    </form>
    
</body>
</html>

代码第19行该写什么以达到点击弹窗的确认按钮后直接关闭弹窗

写回答 关注

3回答

  • 歪头北极熊
    2016-09-07 22:13:30
    已采纳

    function   cceger(){

             var confirm_ = confirm("是否已输入密码?已输入请按确认!");

             if(confirm_ == true){           

                return;

            }

                 else{

                     return bceger();

                     }

             }

    不知道你要的是不是这个效果。第一次回答,还不太熟悉编辑框……


    慕村1994...

    我原本是这样写: function cceger(){ confirm("是否已输入密码?已输入请按确认!"); if(confirm()==true){ return; } else{ return bceger(); } } 这样,第一个弹窗之后会出现一个空值的弹窗,是因为没有定义confirm()吗?

    2016-09-07 22:23:41

    共 1 条回复 >

  • 慕村1994845
    2016-09-12 21:17:26

    function   cceger(){

             var confirm_ = confirm("是否已输入密码?已输入请按确认!");

             if(confirm_ == true){            

                confirm_.close();//这样写应该效果更明显吧,其实我对“return”不太理解;这里写“return”是返回到哪?

            }

                 else{

                     return bceger();

                     }

             }


    歪头北极熊

    你确定这样写没问题? confirm_ 只是定义的一个变量,confirm()函数调用后弹出一个确认窗口,点击确定后,confirm_变量得到confirm函数的返回值true.变量是没有close()方法的。 关于return,你仔细看看函数那部分。如果只是一个return;就是退出函数,继续执行下面的语句,return bceger();的意思是调用bceger()函数,然后把bceger()函数的返回值作为函数的返回值,这句话有点绕,慢慢理解,如果理解不了就回头再看看函数那部分。

    2016-09-12 22:52:10

    共 1 条回复 >

  • 歪头北极熊
    2016-09-11 02:32:33

    你这样写相当于是调用了两次confirm(),第二次没带参数,所以是一个空的弹窗。你可以看看confirm()函数的说明,如果点击确定,就返回true,然后可以根据返回值进一步操作

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题