我有一个HTML表单,如果输入文本的值为www,用户可以输入url。在它中,我将创建一个变量并将其返回给函数,然后将其传递给ajax,但似乎当我在控制台中检查它(ajaxData var)时,它说未定义。函数的返回值返回undefined
<form action="" id="defaultForm">
<input type="text" id="url">
<button id="submit">Submit</button>
</form>
JS:
$(function() {
function myreturnValue() {
$('#defaultForm').submit(function() {
var w = 'www.';
var current = $('#url').val();
var appendW = w + current;
if (current.match('www.')) {
console.log('it already consists of www');
var returnValue = 'site_url:' + current; //site_url:www.domain.com or http://
console.log(typeof returnValue);
return returnValue;
} else {
var returnValue = 'site_url:' + appendW; //www+url
console.log(current);
console.log(appendW);
console.log(returnValue);
return returnValue;
}
}); //end submit
}
var ajaxData = myreturnValue();
console.log(typeof ajaxData);
var data = 'data:{' + ajaxData + '}';
});
然后在AJAX我将通过数据变量。我希望我的解释很清楚。
看来你正在呼吁该行的函数(VAR ... = ajaxData myreturnValue(); ...),它调用父功能,但该功能内变量正在等待表单提交 - 所以变量还不存在。应该重新调用函数调用和操作顺序。 – gavgrif
感谢提示@gavgrif我会尝试调整它。它也是有意义的! – camdev