gpt4 book ai didi

javascript - 停止输入提交表单 - 得到奇怪的结果

转载 作者:行者123 更新时间:2023-11-28 03:24:57 26 4
gpt4 key购买 nike

谁能帮帮我。

http://www.liquidlizard.net/jobs/search <-- 在这个页面上,我有一个输入,人们可以在其中输入一个位置,当他们按下回车键或单击提交按钮时,我运行一个函数来对他们输入的位置进行地理编码,更新一些隐藏的经纬度输入,然后才提交表格。

问题是,虽然当你点击按钮时它工作正常,但出于某种原因当你点击返回时(尽管发生相同的代码)它不能更新经纬度输入,因为当页面重新加载原始位置而不是 map 上的新位置

这是我正在使用的代码:

$('.submitButton').click(function () {
geocodeSearch();
});
$('.formInputTextPostcode').bind("enterKey",function(e){
$(".submitButton").click();
});
$('.formInputTextPostcode').keyup(function(e){
if(e.keyCode == 13)
{
$(this).trigger("enterKey");
}
});
function geocodeSearch(){
geocoder.geocode({
address: $('#postcodeViolet').val()+' UK'
}, function(results, status){
if(status == google.maps.GeocoderStatus.OK){
var geoPoint = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng());
map.setCenter(geoPoint);
circle.setCenter(geoPoint);
marker.setPosition(geoPoint);
$('#lattitude').val(geoPoint.lat());
$('#longitude').val(geoPoint.lng());
$("#searchForm").submit();
} else{
alert("Can not geolocate this address.");
}
});
}

所以基本上当我点击提交按钮时,位置被地理编码并且纬度和经度输入被更新然后表单提交。

该代码还意味着等待回车键,然后使其单击提交按钮,该按钮应按顺序设置相同的代码,但由于某种原因,当页面重新加载时,旧位置在 map 上(如果您单击以提交新位置)。谁能告诉我有什么区别以及为什么会这样?

谢谢

最佳答案

您使用的是哪种浏览器?显然,关键事件在浏览器之间的处理方式不同。此外,如果您想停止输入以提交表单,您应该使用 preventDefault() 阻止该事件通过。

试试这个:

$('.formInputTextPostcode').bind("keyup keypress", function(e) {
var code = e.keyCode || e.which;
if (code == 13) {
e.preventDefault();
$(this).trigger("enterKey");
}
});

来自 jquery disable form submit on enter

关于javascript - 停止输入提交表单 - 得到奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com