【问题标题】:Required field on preventDefault()preventDefault() 上的必填字段
【发布时间】:2014-06-19 21:46:54
【问题描述】:

计划是在点击时将 id #required 设置为必填字段。 这不起作用:

 $("#submitformat").click(function( event ) {
 $("#required").prop('required',true);
 event.preventDefault();
 });

【问题讨论】:

  • 你试过用return false;代替吗?
  • $('#required').attr('required', 'required');
  • 只是不明白为什么要在点击时向元素添加必需的参数?

标签: jquery


【解决方案1】:

如果你不想让任何字段成为必填项,我认为设置必填属性不是一件好事,那么请参阅下面的 J Query 代码

$("#submitformat").click(function(event) {
   var test=$("#required").val();
   if(test==''){
    event.preventDefault();
   }
 });

【讨论】:

    【解决方案2】:
    $("#submitformat").click(function(event) {
         event.preventDefault();
         $('#required').attr('required', 'required');
         return false;
    });
    

    【讨论】:

    • 即使填充了#required 也使用这个提交点击什么都不做
    • 我们不明白为什么要这么做?当您可以添加带有 required="required" 的元素时。所以你想添加这个参数,我给了你解决方案。 :)
    • @num8er 完全正确 :) 接受的答案检查是否需要 attr 并取消事件,它甚至不会取消立即传播 :) 要求的是在点击时添加所需的属性。
    【解决方案3】:

    我建议返回 false,它会防止事件冒泡 DOM 树,并且像 'required' = 'required' and not 'required' = 'true' 这样使用 required 属性。它可能适用于某些浏览器,但不是全部,您还应该在文档完全加载时应用绑定,最好在 document.ready 上。

    $(function(){
      $("#submitformat").click(function() {
         $("#required").prop('required','required');
         return false;
          });
     });
    

    【讨论】:

    • 如果填充了#required,则此处相同,提交点击什么也不做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多