我正在重新设计Vue JS中的现有应用程序表单,该表单通过PHP进行交互和发布。该表单包含大量字段,大多数包含某些内容的HTML ID。我有一系列的Vue JS方法,其中一种解析Vue JS表单数据,然后通过HTTP POST请求提交。我的部分代码出现错误,似乎在想我的element.name
是null
。
我没有编写代码,只是调试并尝试解决此问题。
我尝试用控制台记录数据,但似乎确实获得了null
值,我试图弄清楚是否需要声明var
或{{1} }在我的let
变量的最前面,该变量正在获取一些属性。
在提交表单时会引起错误的有问题的方法如下:
element
预期结果不应给我一个/**
* Parse Form Data
* @return {object}
*/
parseFormData: function parseFormData() {
console.log('Data ->' + data)
expanded = ''
data = this.formData
ignore = [
'AddressSelection', 'NextPaydateDay', 'NextPaydateMonth',
'NextPaydateYear', 'AskDebtsQuestion', 'loanreason',
'loanreason-select', 'PersonalDebtQuestion'
]
for (property in data) {
if (ignore.includes(property)) continue // skips
element = document.getElementById(property)
console.log('Element ->' + element)
switch (property) {
case 'AppLoanPurposeOther':
expanded += 'data[ApplicationPayday][AppLoanPurposeOther]=' + this.formData.AppLoanPurposeOther
break;
case 'EmpEmployerName':
expanded += 'data[ApplicationPayday][EmpEmployerName]=' + this.formData.EmpEmployerName
break;
case 'EmpEmployedYears':
expanded += 'data[ApplicationPayday][EmpEmployedYears]=' + this.formData.EmpEmployedYears
break;
case 'EmpEmployedMonths':
expanded += 'data[ApplicationPayday][EmpEmployedMonths]=0'
break;
case 'EmpIndustry':
expanded += 'data[ApplicationPayday][EmpIndustry]=' + this.formData.EmpIndustry
break;
case 'CheckDebtAdviceTeam':
expanded += 'data[ApplicationPayday][CheckDebtAdviceTeam]=' + this.formData.CheckDebtAdviceTeam
break;
case 'AppWorkPhone':
expanded += 'data[ApplicationPayday][AppWorkPhone]=' + this.formData.AppMobilePhone
break;
case 'AppHomePhone':data[ApplicationPayday][CheckDebtAdviceTeam]
expanded += 'data[ApplicationPayday][AppHomePhone]=' + this.formData.AppMobilePhone
break;
case 'CheckDebtAdviceTeam':
expanded += 'data[ApplicationPayday][CheckDebtAdviceTeam]=' + this.formData.CheckDebtAdviceTeam
break;
case 'CheckPhoneContract':
expanded += 'data[ApplicationPayday][CheckPhoneContract]=' + this.formData.CheckPhoneContract
break;
case 'BankSortcode':
expanded += 'data[ApplicationPayday][BankSortcode]=' + this.formData.BankSortcode.replace(/-/g , '')
break;
default:
if (element.name === '') continue
console.log('Element Name ->' + element.name)
var string =
expanded += element.name + '=' + data[property]
}
expanded += '&'
}
expanded = encodeURIComponent(expanded.substring(0, expanded.length - 1))
expanded = expanded.replace(/%3D/g , '=')
expanded = expanded.replace(/%26/g , '&')
expanded = expanded.replace(/%20/g , '+')
return expanded
}
值,错误出现在:
null
控制台中的错误显示:
if (element.name == '') continue
是通过tlp_aff_id
在URL中传递的,并且确实有效,它在我的数据中列为:
?aff_id=something