【问题标题】:JavaScript Validation working on Firefox but not ChromeJavaScript 验证适用于 Firefox,但不适用于 Chrome
【发布时间】:2013-02-07 04:26:04
【问题描述】:

我很沮丧,为此花了好几个小时。你们能告诉我有什么问题吗? 在表格末尾的开头尝试了 onsubmit。将其更改为 onChange 和 onClick 仍然是相同的问题。

如果我编写了 onclick 函数,我也无法让提交按钮说感谢信息,因为它禁用了 onsubmit

<script type="text/javascript">
<!--
 // Form validation code will come here.
 function validate()
 {

 if( document.myForm.name.value == "" )
{
 alert( "Please provide your name!" );
 document.myForm.name.focus() ;
 return false;
 }
  if( document.myForm.email.value == "" )
 {
  alert( "Please provide your Email!" );
  document.myForm.email.focus() ;
 return false;
  }
 if( document.myForm.phone.value == "" ||
       isNaN( document.myForm.phone.value ) ||
       document.myForm.phone.value.length != 5 )
 {
   alert( "Please provide a phone number so we can reach you." );
   document.myForm.phone.focus() ;
    return false;
   }
return( true );
 }
   //-->
 </script>

<div class="iphorm-outer">
    <form class="iphorm" action="send_contact.php" name="myForm" method="post"  >
        <div class="iphorm-wrapper">
        <div class="iphorm-inner">
               <div class="iphorm-message"></div>
               <div class="iphorm-container clearfix">
                    <!-- Begin Name element -->
                    <div class="element-wrapper name-element-wrapper clearfix">
                        <label for="name">Name <span class="required">(required)</span></label>
                        <div class="input-wrapper name-input-wrapper">
                            <input class="name-element" id="name" type="text" name="name" />
                        </div>
                    </div>
                    <!-- End Name element -->
                    <!-- Begin Email element -->
                    <div class="element-wrapper email-element-wrapper clearfix">
                        <label for="email">Email <span class="required">(required)</span></label>
                        <div class="input-wrapper email-input-wrapper">
                            <input class="email-element" id="email" type="text" name="email" />
                        </div>
                    </div>
                    <!-- End Email element -->
                    <!-- Begin Phone element -->
                    <div class="element-wrapper phone-element-wrapper clearfix">
                        <label for="phone">Phone</label>
                        <div class="input-wrapper phone-input-wrapper">
                            <input class="phone-element" id="phone" type="text" name="phone" />
                        </div>
                    </div>
                    <!-- End Phone element -->
                    <!-- Begin Message element -->
                    <div class="element-wrapper message-element-wrapper clearfix">
                        <label for="message">Message <span class="required">(required)</span></label>
                        <div class="input-wrapper message-input-wrapper clearfix">
                            <textarea class="message-element" id="message" name="message" rows="7" cols="45"></textarea>
                        </div>
                    </div>
                    <!-- End Message element -->

                    <!-- Begin Submit button -->
                    <div class="button-wrapper submit-button-wrapper clearfix">
                        <div class="loading-wrapper"><span class="loading">Thank YOU, message sent.</span></div>
                        <div class="button-input-wrapper submit-button-input-wrapper">
                            <input class="ka-form-submit" type="submit" name="contact" onclick="return(validate())" value="Submit"/>
                        </div>
                    </div>
                    <!-- End Submit button -->
               </div>
           </div>
       </div>
    </form>

谁能帮我写一个函数来禁用提交按钮,除非函数验证为真?

【问题讨论】:

  • 你有CTRL + F5 吗?
  • 您遇到的错误是什么?
  • 验证在 Chrome 中对我有用。 jsfiddle.net/barmar/DyMSz
  • 感谢大家的快速回复!!

标签: javascript google-chrome firefox cross-browser


【解决方案1】:

一切似乎都很好。尝试使用CTRL + F5刷新页面以清除浏览器的缓存。

【讨论】:

  • 你是对的!!我在 ubuntu 中尝试过,它在 chrome 上运行。感谢 CTRL F5 我不知道。它仍然无法在我的 Windows chrome 上运行。 Chrome 真的很奇怪,我有另一个网站我正在尝试使用并且 chrome 突然弯腰允许我登录,在 F12 下我看到它正在尝试下载 login.php 而不是启动会话。我清理了......卸载......删除了所有插件和所有可能的东西,但仍然没有工作。直到我擦掉驱动器并重新安装 Windows。我讨厌这个浏览器,就像我喜欢它一样
  • 有人可以帮我写一个函数来禁用提交按钮,除非函数验证为真?
  • 那是另一个问题。检查这个:stackoverflow.com/questions/3014649/…
【解决方案2】:

在浏览器高级设置中启用脚本调试并尝试

【讨论】:

  • 无法在 Chrome 高级设置中找到调试。
  • 谢谢大家,脚本看起来不错,只是拒绝在我的浏览器上运行。有人可以帮我写一个函数来禁用提交按钮,除非函数验证为真?
猜你喜欢
  • 2017-09-30
  • 2014-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-08
  • 2014-11-17
  • 2015-06-09
  • 2011-08-21
相关资源
最近更新 更多