这是自定义表单,我不知道为什么我一直有“Uncaught ReferenceError:field_inputs is not Defined”错误
如果您还有缩短代码的方法,我很想知道如何实现
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
$( ".form" ).change(function() {
$( ".addfromform" ).empty();
field_include();
});
});
function field_include()
{
var form_id = $( ".form" ).val();
$.ajax({
url: 'ajax/field_include.php',
type: 'POST',
data: {
form_id : form_id
},
success: function(data)
{
var fields = data;
var field = fields.split(";").filter(Boolean);
$.each(field, function(i, val){
var field_val = val.split(",");
$( ".addfromform" ).append('<div class="form-group"><label class="col-lg-2 control-label mt10">'+field_val[2]+'</label><div class="col-xs-10"><label for="'+field_val[1]+'" class="field prepend-icon"><input type="'+field_val[0]+'" name="'+field_val[1]+'" id="'+field_val[1]+'" class="gui-input" placeholder="'+field_val[3]+'" autocomplete="off"><label for="'+field_val[1]+'" class="field-icon"><i class="fa fa-user"></i></label></label></div></div>').fadeIn('slow');
if (input_ids != null)
{
var input_ids = ""+input_ids+","+field_val[1]+"";
$(".date").data("input_name", ""+input_ids+"");
}
else
{
var input_ids = ""+field_val[1]+"";
$(".date").data("input_name", ""+input_ids+"");
}
});
}
});
}
function save_guest()
{
var field_names = $(".date").data("input_name");
var field_name = field_names.split(",").filter(Boolean);
$.each(field_name, function(i, input_val){
if(typeof(field_inputs) != "undefined" && field_inputs !== null)
{
var input_date = $( "."+input_val+"" ).val();
var field_inputs = ""+field_inputs+""+input_val+","+input_date+";";
}
else
{
var input_date = $( "."+input_val+"" ).val();
var field_inputs = ""+input_val+","+input_date+";";
}
});
$.ajax({
url: 'ajax/save_new_guest.php',
type: 'POST',
data: {
field : field_inputs
},
success: function(data)
{
document.location.href="../../guest.php";
}
});
}
</script>
<button onclick="save_guest();" class="button btn-primary"> Add guest </button>
我是新主题 AJAX jquery
最佳答案
您必须将 field_inputs
放在 each
函数之外,以便您的 ajax
可以访问变量
function save_guest()
{
var field_inputs = null;
var field_names = $(".date").data("input_name");
var field_name = field_names.split(",").filter(Boolean);
$.each(field_name, function(i, input_val){
if(typeof(field_inputs) != "undefined" && field_inputs !== null)
{
var input_date = $( "."+input_val+"" ).val();
field_inputs = ""+field_inputs+""+input_val+","+input_date+";";
}
else
{
var input_date = $( "."+input_val+"" ).val();
field_inputs = ""+input_val+","+input_date+";";
}
});
$.ajax({
url: 'ajax/save_new_guest.php',
type: 'POST',
data: {
field : field_inputs
},
success: function(data)
{
document.location.href="../../guest.php";
}
});
}
关于javascript - ajax未捕获引用错误: field_inputs is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33942770/