【问题标题】:spinner not being called on submit提交时未调用微调器
【发布时间】:2013-06-09 00:51:34
【问题描述】:

我正在使用 javascript 来验证一个名为 theForm 的表单,并在验证并提交表单后显示一个微调器。方法是 POST 和 ACTION 到一个单独的页面。验证有效,但我无法让微调器工作。我可以在单击提交按钮时调用这两个脚本吗?

javascript:

 <script type="text/javascript">        
 $(function() {

 $('#theForm').on("submit", function () {

    setTimeout(function () {

          $('#loading').show();

    }, 100);

  });
  });

 </script>
 <script type="text/javascript">    

 function validateRegForm()
{

var emailfield=document.forms["theForm"]["email"].value;
if (emailfield==null || emailfield=="")
{
alert("Please enter your email address");
return false;
}

if (confirmemailaddress==null || confirmemailaddress=="")
{
 alert("Please confirm your email address");
return false;
}
}
</script>

然后是隐藏的div:

 <div id="loading" style="display:none;
    background: url('hand_timer4.gif') no-repeat 5px 3px;
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(255,255,255,0.8);
    z-index:1000" >


  <div style="position:fixed; top:50%; left:50%; width:600px; overflow-y:auto;     
  height:400px; margin-top: -200px; margin-left: -300px; font-size:12px;    
   text-align:center; padding-left:10px; padding-right:10px; padding-top:10px; 
  color:black">
    <img src="images/hand_timer4.gif" alt="loading" /><br><br>
        <p>Your account is being created. Please be patient...</p>  
  </div>
  </div>

谢谢

【问题讨论】:

  • 因为表单会加载一个新页面。相反,您需要对内容进行 ajax。我也会在验证结束时返回 true。表单标签是什么样子的?我猜你那里也有 onsubmit 吗?
  • java和javascript的区别
  • 是的,我已经在表单标签中调用了 validateRegForm() 脚本

标签: javascript html


【解决方案1】:
  1. 你加载 jQuery 吗?
  2. 您是否已经有用于验证的内联 onsubmit
  3. 提交表单会加载一个新页面并卸载当前页面。您可能需要考虑 AJAX

这是一种更清洁的方法

<script type="text/javascript" src="jquery.js"></script>        

<script type="text/javascript">        
$(function() {

  $('#theForm').on("submit", function () {

    var emailfield=$("#email"].val(); // assuming the field has an ID
    if (emailfield=="") {
      alert("Please enter your email address");
      return false;
    }
    var confirmemailaddress=$("#confirmemailaddress"].val(); // assuming the field has an ID
    if (confirmemailaddress=="" ||emailfield != confirmemailaddress) {
      alert("Please confirm your email address");
      return false;
    }
    $('#loading').show();
    return true;
  });
});
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 2014-12-19
    • 1970-01-01
    相关资源
    最近更新 更多