Comcx
2017-08-09 03:57
采纳率: 66.7%
浏览 1.2k

javascript onsubmit的问题

form id="login" method="post" onsubmit="checkAccount()">
/* 每个标签前加< */
input type="submit" value=" login ">
/form>

    <script type="text/javascript">
//可延迟时间javascript code---------------------

var menuAccess = 0;
alert("外面");

function checkAccount()//checkAccount();
{
    menuAccess = 2;

    alert(menuAccess);
    test();
}


function test()
{
    alert(menuAccess);
}

请问为什么点击submit后会运行alert("外面");呢?为什么会执行checkAccount()函数之外的语句呢?谢谢!

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 算不算码农 2017-08-09 05:45
    已采纳

    提交表单了吧,action地址都没写 你点击提交表单还是当前页面的。当前页面刷新了肯定要执行 暴露在script标签里的 alert方法了

    打赏 评论
  • T_world 2017-08-09 04:04

    写在函数里面的语句会在调用函数的时候执行,但是写在函数外面,也就是直接裸露在script标签中的语句是会直接执行的

    打赏 评论
  • github_39785868 2017-08-09 05:16

    在HTML中遇到标签<br> javascript会逐行解析,遇到alert直接输出,还有像console.log()这种。</p>

    打赏 评论
  • 因为提交了表单,所以重新执行了一次

    打赏 评论
  • orangeTop 2017-08-09 06:01

    action="?"都是提交到本页。把method=get,你试试就可以看得出来。提交到本页刷新页面了,不就执行了alert吗

    打赏 评论
  • Rattenking 2017-08-09 06:05

    简单的说就是submit表单提交,页面就会刷新,页面刷新就会执行一次页面的全局js,全局alert就会执行。

    打赏 评论

相关推荐 更多相似问题