问题描述
onApprove: function(data,actions) {
return actions.order.capture().then(function(details) {
window.location.replace("www.mysite.com/success");
document.getElementById("payment_no").value='1234';
});
},
一旦付款,这将重定向用户。下一页有一个带有“payment_no”字段的表单,我想在使用脚本中的值重定向后填写该字段。
目前这不起作用,我认为这是因为页面在尝试发布值之前尚未加载。我已经研究过使用 onload 但就是不明白如何在这个脚本中使用它。有人可以帮忙吗?
这是我的 form.py 以防万一 -
class UserRegisterForm(UserCreationForm):
email = forms.EmailField(widget= forms.EmailInput(attrs={'id':'email'}))
payment_no = forms.CharField(max_length=50,widget= forms.TextInput(attrs={'id':'payment_no'}))
class Meta:
model = User
fields = ['email','payment_no','password1','password2']
解决方法
使用 onload
就像使用任何其他 DOM 事件一样。这是我做的一个例子
<script>
const OnLoadFunction = () =>{
document.getElementById('form-input').value = "1234";
}
</script>
<body onload="OnLoadFunction();">
<form>
<input type="text" id="form-input"/>
</form>
</body>
这应该会在加载文档时更改输入字段的值。从代码的外观来看,您似乎正在使用一个函数来完成两项工作。我将使用两个函数,以便您可以在 www.mysite.com/success
加载时调用一个函数
1:改变页面位置
2:操作输入字段