我有一个我的html表单,其中包含以下代码。
<input type="text" style="opacity:0;" id="latlong" name="latlong" value="" />
<input type="submit" name="submit1" onClick="return validate();" value="Submit"/>
Javascript的验证功能如下所示。
<script type="text/javascript">
function validate()
{
if($("#near_buil_id").val()==''){
var address = "\""+$("#nearest_building").val()+","+$("#flat").val()+","+$("#near_road").val()+","+$("#landmark").val()+","+$("#street").val()+","+$("#region").val()+","+$("#city").val()+","+$("#state").val()+"\"";
geocoder.geocode({ 'address': address }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
$("#latlong").val("POINT("+results[0].geometry.location.k+" "+results[0].geometry.location.A+")");
//console.log($("#latlong").val());
return true;
}
else{
console.log(status);
console.log(results);
return false;
}
});
}else{
return false;
}
return true;
}
</script>
我的问题是,当我提交此表单并尝试获取$_POST['latlong']
的值时,会获得空值。
另外,当我将return false
放在函数末尾并console.log
将$("#latlong")
中的值附加到{{1}}时,我得到了预期值。
任何人都可以帮我解决问题吗? 提前致谢。
答案 0 :(得分:0)
在submit
按钮html中,您应该将onclick
的代码移至onsubmit
。 onsubmit
在提交表单之前运行,而onclick
则不是,因此实质上您提交的是#39}。在您的javascript代码在latlong
输入中放置值之前,表单在latlong
输入中具有空值。
注意onsubmit
应该是表单属性。