我必须在提交之前检索三个输入值,因此我可以使用ajax根据这些框中的信息填写表单。
我首先检查这三个框是否有使用此脚本的文本:
<script>
jQuery(document).ready(function () {
var flag = false;
jQuery(".validation").change(function () {
flag = true;
jQuery(".validation").each(function () {
if (jQuery(this).val().trim() == "") {
flag = false;
}
});
if (flag==true) {
var calle = jQuery("#calle").val();
var municipio = jQuery("#municipio").val();
var provincia = jQuery("#provincia").val();
var direccion = calle +","+ municipio +","+ provincia;
direccion = direccion.replace(/\s/g,'+');
}
});
});
</script>
我需要的是,当这三个字段有值来检索该值时,我可以在提交之前通过PHP中的URL传递它(ajax可能吗?)
$url = 'http://maps.googleapis.com/maps/api/geocode/json?address='.$value .'&sensor=false';
$ value 将是脚本中的变量(direccion)。
如果您需要更多信息,请告诉我们。
答案 0 :(得分:0)
您需要将变量设置为全局以便在外部访问它。在将变量声明为变量时,变量的范围仅保留在变更函数内。所以在变更事件之外声明变量。像这样:
<script>
jQuery(document).ready(function () {
var flag = false;
var direccion="";//declare variable
jQuery(".validation").change(function () {
flag = true;
jQuery(".validation").each(function () {
if (jQuery(this).val().trim() == "") {
flag = false;
}
});
if (flag==true) {
var calle = jQuery("#calle").val();
var municipio = jQuery("#municipio").val();
var provincia = jQuery("#provincia").val();
direccion = calle +","+ municipio +","+ provincia;
direccion = direccion.replace(/\s/g,'+');//define variable on every on change
}
});
});
</script>
答案 1 :(得分:0)
在form
上,您可以添加onsubmit
属性,该属性将定义提交表单时要执行的操作。
例如:
<form method='GET' action='' onsubmit='doAjax();return false;'>
<input type='text' id='inp_name' value='hello'/>
</form>
<script>
function doAjax(){
alert("this form won't be posted!");
return false;
}
</script>
答案 2 :(得分:0)
你需要对构造的url进行ajax调用
jQuery(document).ready(function () {
var flag = false;
jQuery(".validation").change(function () {
flag = true;
var direccio="";
jQuery(".validation").each(function () {
if (jQuery(this).val().trim() == "") {
flag = false;
}
});
if (flag==true) {
var calle = jQuery("#calle").val();
var municipio = jQuery("#municipio").val();
var provincia = jQuery("#provincia").val();
direccion = calle +","+ municipio +","+ provincia;
direccion = direccion.replace(/\s/g,'+');
}
$.ajax({
url: "target.php",
data:{'value':direccion},
success: function(response) {
//process the data received from server script
});
});
});
PHP CODE(target.php):
$value=$_POST['value'];
$url = 'http://maps.googleapis.com/maps/api/geocode/json?address='.$value .'&sensor=false';
//further processing of data at server end and finally echo the data to client
答案 3 :(得分:0)
您需要使用上一个所需的输入标记。假设您想要数据到第3个输入标记,那么您需要使用onkeyup =“myFunction()”在第3个输入标记中调用自定义函数
在myFunction()中,您可以检查字段是否已填充,还可以执行ajax将数据传输到服务器