当前位置: 首页 > 知识库问答 >
问题:

jquery submit()忽略对输入标记的更改

仰钧
2023-03-14

我有一个jQuery.submit()事件处理程序。我正在尝试做的是捕获提交,并基于某些标准,修改提交表单上输入标记的一些值(实际上,将其擦除为空)。当我逐步使用调试器时,我会看到字段被正确修改,但一旦表单提交,我会看到它已经提交了原始值。有办法做我想做的事吗?

$('#views-exposed-form-find-a-rep-page-1').submit(function(event) {
    //$('.find-a-rep-search').click(function() {
        var address = $('#edit-geo-location');
        var countyField = $('#edit-field-county-value');
        //var stateField = $('#edit-state');
        var postalField = $('#edit-postal-code');
        var contact = $('#edit-field-rep-contact-name-value');
        var disabled = $('input:disabled');
        if(address.val() !== "") {
            var geocoder = new google.maps.Geocoder();
            geocoder.geocode( { 'address': address.val()}, function(results, status) {
                if (status == google.maps.GeocoderStatus.OK) { //if the input wasn't total garbage
                    var county = '';
                    var state = '';
                    var postal = '';
                    ....more logic here....                    }
                    //LOGIC:
                    //1) If we have county and state, use that to validate
                    //2) If we don't have county, use state and zip to validate
                    if (county !== '' && state !== '') {
                        countyField.val(county + ", " + state);
                        //stateField.val(state);
                        postalField.val(postal); //don't need this, but don't think it will harm
                        contact.val(""); //wipe this field so that it doesn't show up in the search url
                        disabled.prop('disabled', false); //undisable any disabled fields so views query works correctly
                        //$('#edit-name-or-location-0-wrapper input[name="name-or-location"][value="0"]').attr('checked','checked'); //reset this
                        //$('#views-exposed-form-find-a-rep-page-1').submit();
                    }
                    else if(county == "" && state !== '') {
                        var message = 'Location not specific enough, please re-enter.';
                        $('.message-box').html(message);
                        event.preventDefault();
                    }
                    else if (county == '' && state == '') { // use zip code instead
                        countyField.val(""); //wipe
                        //stateField.val(state);
                        postalField.val(postal);
                        disabled.prop('disabled', false); //undisable any disabled fields so views query works correctly
                        //@todo - do we want it to die here if the geocode doesn't have a county field?
                        //$('#views-exposed-form-find-a-rep-page-1').submit();
                    }
                }
                else {
                    var message = 'Invalid location, please re-enter.';
                    $('.message-box').html(message);
                    event.preventDefault();
                }
            });

        }
        else if(contact.val() !== "") {
            countyField.val(""); //wipe these fields
            //stateField.val("");
            postalField.val("");
            address.val("");
            disabled.prop('disabled', false); //undisable any disabled fields so views query works correctly
            //$('#views-exposed-form-find-a-rep-page-1').submit();
        }
        else {
            var message = 'No representative name or location has been provided.';
            $errorMessageBox = $('.section div.messages.error');
            if($errorMessageBox.length){
                $errorMessageBox.html(message);
            }else{
                $('#content-area').prepend('' + message + '');
            }
            event.preventDefault();
        }
    }); //end click function

共有1个答案

骆鸿运
2023-03-14

您需要将click事件附加到submit按钮,并更改该按钮和submit the form中的值

$('#submit_button').click(function(event) {
    event.preventDefault();
   // make the changes here and afterwards submit the form
    $('#views-exposed-form-find-a-rep-page-1').submit();
});

你也可以这样试试

$('#views-exposed-form-find-a-rep-page-1').submit(function(event) {
    event.preventDefault();
   // make the changes here and afterwards submit the form
    $('#views-exposed-form-find-a-rep-page-1').submit();
});
 类似资料:
  • null 对于第二个选项,我使用MessageHandler: 每当我的模型(函数)返回适当的标记时,我想输入其中一个ConversationHandlers,但不知道如何执行。

  • 我正在尝试将一个项目从gwt-2.6.1迁移到gwt-2.7。但是,我遇到了一个问题。在一个继承的模块中,由于某种原因,gwt编译器忽略了gwt.xml。所以我有这样的东西。gwt.xml: 但是在使用带有gwt-maven-plugin的maven编译时,我一直收到这样的错误: 如您所见,gwt尝试在servlet目录中编译一个文件,该文件在中被排除。gwt。xml。原因可能是什么?gwt-2.

  • 有人能帮帮我吗?

  • 属性不能与一起使用。这种情况只在Chrome中发生。

  • 问题内容: 我正在使用PHP。 请问什么是将新记录插入具有唯一字段的数据库的正确方法。我正在批量插入很多记录,我只想插入新记录,并且我不想重复条目有任何错误。 有没有唯一方法可以首先进行SELECT并查看条目是否在INSERT之前已经存在-并且仅在SELECT不返回任何记录时才插入INSERT?我希望不是。 我想以某种方式告诉MySQL忽略这些插入而没有任何错误。 谢谢 问题答案: 如果在重复记录

  • 问题内容: 我目前使用如下所示的XML 我所坚持的是,在使用XStream时,我需要能够忽略出现的某些标签(在“ FavOS”上方的情况下),这些标签可能未知或将来会更改。有没有办法忽略所有与当前实现的不匹配的标签? (使用XStream 1.3.1) 问题答案: 由于我花了超过15分钟的时间才能找到此答案,因此我认为应该发布它。 这似乎会跳过不在您的对象中的xml项。