当前位置: 首页 > 面试题库 >

隐藏提交按钮,直到表格有效

葛兴发
2023-03-14
问题内容

我对Jquery还是很陌生,所以这可能是一个简单的问题,但是有一种方法可以隐藏表单上的提交按钮,直到所有字段都经过验证。

验证将需要是“键入时”解决方案。基本上,我有3个字段-
名字,姓氏和电子邮件。我希望提交按钮保持隐藏状态,直到填写了两个“名称”字段,并且在电子邮件字段中输入了有效的电子邮件地址。

表单本身使用AJAX将表单数据输入数据库。表单位于一个灯箱中,单击提交按钮后,该灯箱应自动关闭。

您可以在此处查看示例:http :
//testing.xenongroupadmin.com/whatis/pfi

忽略“关闭此窗口”链接-为方便起见,该链接将在最终版本中删除。

以下是表单的HTML代码,后跟JQuery / AJAX提交代码:

<form id="registerform" action="thanks.php" method="POST">
 <ul id="inputform">
  <li>
   <label for="firstname" id="firstnamelabel">First Name</label>
   <input type="text" name="first_name" id="fname" class="registerboxes" />
  </li>
  <li>
   <label for="lastname" id="lastnamelabel">Last Name</label>
   <input type="text" name="last_name" id="lname" class="registerboxes" />
  </li>
  <li>
   <label for="email" id="emaillabel">E-mail Address</label>
   <input type="text" name="emailbox" id="email" class="registerboxes" />
  </li>
 </ul>
 <input type="submit" value="Submit" id="emailbutton" />
</form>

和jQuery:

$(document).ready(function(){
 $("form#registerform").submit(function() {
  var fname     = $('#fname').attr('value');
  var lname     = $('#lname').attr('value');
  var email     = $('#email').attr('value');

 $.ajax({
  type: "POST",
  url: "post.php",
  data: "fname="+ fname +"& lname="+ lname +"& email="+ email,
  success: function(){

 $('div#register-panel, div#lightbox').fadeOut(300);
   }
  });
  return false;
 });
});

谢谢!


问题答案:

http://jsfiddle.net/nickaknudson/KnZaq/

$(document).ready(function() {
    $('#emailbutton').hide();
    $('input').change(function(e) {
        if ($('#fname').val() && $('#lname').val() && $('#email').val() && validateEmail($('#email').val())) {
            $('#emailbutton').show();
        }
    });
});

var validateEmail = function(email) {
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
};​

更新

抱歉,该小提琴版本可能有错误。再试一次?
http://jsfiddle.net/nickaknudson/KnZaq/3/



 类似资料:
  • 我正在尝试隐藏按钮div和显示一个隐藏的div后,一个表单按钮已经被点击,加上延迟提交/重定向。下面是我想出的办法,但似乎没有100%奏效。 null null 任何建议都非常感谢

  • 我有一个自定义的Spinner类,它使用一个警报对话框来显示它的内容,它有“提交”和“取消”按钮。警报对话框有一个编辑文本,其他都是只读标签。在单击编辑文本时,虚拟键盘出现,它移动布局,向上移动位,但按钮保持隐藏。我希望按钮也是可见的。 在活动类中:-this.getWindow().setSoftinPutMode(Windowmanager.layoutParams.soft_input_ad

  • 我正在使用C#和Selenium Web驱动程序。问题是我找不到一个没有ID值的开始按钮。 我为该对象找到的唯一标识符是'value=“74”‘文本。 按钮的HTML如下所示: driver.findElement(by.xpath(“(//input[@name='PRODUCT_ID'][@value='74'])”)).click(); 提前致谢

  • 我有一个简单表单,有四个输入字段(联系人id,电话号码,姓名,称呼)。如果我输入'contact id'&按Enter按钮,字段的其余部分将自动填充,从DB检索。现在我想在表单中添加一个“Submit”按钮,这样就可以通过单击该按钮将这些信息保存到另一个DB表中。我已经尝试添加按钮,但自动填充功能不再起作用了。有人能帮忙吗?提前致谢:)下面是我的index.html文件:

  • 问题内容: 我有一个表格。在该表格之外,我有一个按钮。一个简单的按钮,如下所示: 但是,当我单击它时,它会提交表单。这是代码: 该按钮应该做的就是编写一些JavaScript。但是,即使看起来像上面的代码一样,它也会提交表单。当我将标签按钮更改为跨度时,它可以完美工作。但不幸的是,它必须是一个按钮。有什么办法可以阻止该按钮提交表单?像例如 问题答案: 我认为这是HTML最令人讨厌的小特性。该按钮必

  • 问题内容: 单击后,我编写了以下代码以禁用网站上的提交按钮: 不幸的是,它没有发送表格。我怎样才能解决这个问题? 编辑 我想绑定提交,而不是表格:) 问题答案: 做到: 发生的事情是您实际上在完全触发该提交事件之前禁用了该按钮。 您可能还应该考虑使用ID或CLASS来命名元素,因此不要在页面上选择所有提交类型的输入。 (请注意,我使用,因此该表单在示例中并未实际提交;请在使用时将其保留。)