【发布时间】:2014-11-25 02:31:51
【问题描述】:
我有一个 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'); 如果(地址.val()!==“”){ var geocoder = new google.maps.Geocoder(); geocoder.geocode({'地址':address.val()},函数(结果,状态){ if (status == google.maps.GeocoderStatus.OK) { //如果输入不是完全垃圾 var县=''; 变量状态 = ''; var 邮政 = ''; ....这里有更多逻辑.... } //逻辑: //1) 如果我们有县和州,用它来验证 //2) 如果我们没有县,使用 state 和 zip 来验证 如果(县!== '' && 州!== ''){ CountyField.val(县 + ", " + 州); //stateField.val(state); postalField.val(邮政); //不需要这个,但不要认为它会有害 联系人.val(""); //清除此字段,使其不会出现在搜索网址中 disabled.prop('禁用', false); //取消禁用任何禁用的字段,以便视图查询正常工作 //$('#edit-name-or-location-0-wrapper input[name="name-or-location"][value="0"]').attr('checked','checked'); //重置这个 //$('#views-exposed-form-find-a-rep-page-1').submit(); } 否则如果(县==“”&&州!==''){ var message = '位置不够具体,请重新输入。'; $('.message-box').html(message); event.preventDefault(); } else if (county == '' && state == '') { // 使用邮政编码代替 CountyField.val(""); //擦拭 //stateField.val(state); postalField.val(邮政); disabled.prop('禁用', false); //取消禁用任何禁用的字段,以便视图查询正常工作 //@todo - 如果地理编码没有县域,我们是否希望它死在这里? //$('#views-exposed-form-find-a-rep-page-1').submit(); } } 别的 { var message = '位置无效,请重新输入。'; $('.message-box').html(message); event.preventDefault(); } }); } 否则 if(contact.val() !== "") { CountyField.val(""); //擦除这些字段 //stateField.val(""); postalField.val(""); 地址.val(""); disabled.prop('禁用', false); //取消禁用任何禁用的字段,以便视图查询正常工作 //$('#views-exposed-form-find-a-rep-page-1').submit(); } 别的 { var message = '未提供代表姓名或位置。'; $errorMessageBox = $('.section div.messages.error'); 如果($errorMessageBox.length){ $errorMessageBox.html(消息); }别的{ $('#content-area').prepend('' + 消息 + ''); } event.preventDefault(); } }); //结束点击函数【问题讨论】:
标签: jquery