我有一個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