首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单提交

表单提交
EN

Stack Overflow用户
提问于 2011-04-04 13:55:41
回答 6查看 1.3K关注 0票数 0

在此函数中,根据输入的值,表单提交是true/false。为什么此函数中的return true不起作用?

基本上,我的if语句测试表单输入中的问号。如果有,那么我不希望表单提交给search.php。如果没有问号else语句,那么我希望表单提交给search.php。我试着使用return true;让.form1提交,但不起作用。然后我尝试了$('.form1').submit(),但这使它在按enter之前提交。

代码语言:javascript
复制
                <script>

            $(".askInput").keyup(function() {

                if ($(this).val().indexOf("?") != -1) {

                    $(this).css({"color" : "#00bfff", 'border-top-right-radius' : '0px', 'border-bottom-right-radius' : '0px', '-moz-border-top-right-radius' : '0px', '-moz-border-bottom-right-radius' : '0px', '-webkit-border-top-right-radius' : '0px', '-webkit-border-bottom-right-radius' : '0px'});

                    $('.searchEnter').stop().animate({
                    marginLeft: "310px"
                    }, 200 );
                    $('.form1').submit(function () {
                         return false;
                        });


                } else {

                    $(this).css({"color" : "#333", 'border-top-right-radius' : '5px', 'border-bottom-right-radius' : '5px', '-moz-border-top-right-radius' : '5px', '-moz-border-bottom-right-radius' : '5px', '-webkit-border-top-right-radius' : '5px', '-webkit-border-bottom-right-radius' : '5px'});

                    $('.searchEnter').stop().animate({
                        marginLeft: "250px"
                        }, 200 );
                    $('.form1').submit(function () {
                         return true;
                        });

                }
            });

            </script>
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-04-04 14:08:01

与其经常更改表单的提交处理程序,为什么不在提交时检查问号?

代码语言:javascript
复制
$('.form1').submit(function () {
  if ($('.askInput').val().indexOf("?") != -1) return false;
});

$(".askInput").keyup(function () {

  if ($(this).val().indexOf("?") != -1) {

    $(this).css({
      "color": "#00bfff",
      'border-top-right-radius': '0px',
      'border-bottom-right-radius': '0px',
      '-moz-border-top-right-radius': '0px',
      '-moz-border-bottom-right-radius': '0px',
      '-webkit-border-top-right-radius': '0px',
      '-webkit-border-bottom-right-radius': '0px'
    });

    $('.searchEnter').stop().animate({
      marginLeft: "310px"
    }, 200);
  } else {

    $(this).css({
      "color": "#333",
      'border-top-right-radius': '5px',
      'border-bottom-right-radius': '5px',
      '-moz-border-top-right-radius': '5px',
      '-moz-border-bottom-right-radius': '5px',
      '-webkit-border-top-right-radius': '5px',
      '-webkit-border-bottom-right-radius': '5px'
    });

    $('.searchEnter').stop().animate({
      marginLeft: "250px"
    }, 200);
  }
});
票数 1
EN

Stack Overflow用户

发布于 2011-04-04 14:02:01

试试看。

代码语言:javascript
复制
$('.form1').submit(function (e) {
  if ($('.askInput').val().indexOf("?") != -1) {
    e.preventDefault();
  }
  $(this).submit();
});
票数 1
EN

Stack Overflow用户

发布于 2011-04-04 13:18:26

代码语言:javascript
复制
$('.form1').submit(function () {
    return true;
});

这将绑定一个仅向submit事件返回true的函数。也就是说,在此之后,当您提交表单时,函数将返回true。就是这样。

这是manual entry

.submit( handler(eventObject) )

handler(eventObject)每次触发事件时执行的函数。

如果您只想提交表单,请使用$('.form1').submit()。如果您不想提交表单,请不要调用.submit()。即:

代码语言:javascript
复制
if (...) {
    ...
    // don't call submit
} else {
    ...
    $('.form1').submit();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5535035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档