请不要评判我的 JS 技能,我完全是初学者。=))
所以我有一个注册用户的功能,但我想制作“create_sample_user”按钮来用一些数据填充文本字段。通过这种方式,人们可以快速查看网站,而无需输入姓名、电子邮件等...
但问题是:当我自己输入用户名和所有其他字段时,注册按钮工作正常。但是当我用“create_sample_user”按钮填充它们时不起作用(我假设它只是没有“看到”文本字段的值)。
function create_sample_user() {
var button = $("#create-sample-user");
button.click(function() {
var ranNum = 1 + Math.floor(Math.random() * 100);
var uname = 'Sample_'+ranNum;
$("#id_username").val(uname);
$("#id_email").val(uname+'@'+uname+'.com');
$("#id_password").val(uname);
$("#id_password2").val(uname);
});
}
function register_user() {
$("#register-user").click(function() {
$.ajax({
url: "/registration/register_user/",
type: "POST",
dataType: "text",
data: {
username : $("#id_username").val(),
email : $("#id_email").val(),
password : $("#id_password").val(),
password2 : $("#id_password2").val(),
},
success: function(data) {
parsed_data = $.parseJSON(data);
if (data) {
alert("User was created");
window.location = parsed_data.link;
}
else {
alert("Error");
}
}
});
});
}
答案:
由于这行代码中的一个字符,整个事情都不起作用:
`var uname = 'Sample_'+ranNum;`
出于某种原因_
,字符是问题,而 AJAX 不想接受它。换句话说:
var uname = 'Sample'+ranNum;
这条线可以解决问题:=)