私の JS スキルを判断しないでください。私はまったくの初心者です。=))
だから私はユーザーを登録する機能を持っていますが、「create_sample_user」ボタンを作成してテキストフィールドにデータを入力したいと思います。このようにして、人々は名前や電子メールなどを入力しなくても、Web サイトをすばやく確認できます...
しかし、問題は次のとおりです。ユーザー名と他のすべてのフィールドを自分で入力すると、登録ボタンが正常に機能します。しかし、「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");
}
}
});
});
}
答え:
次のコード行の 1 文字が原因で、すべてが機能しませんでした。
`var uname = 'Sample_'+ranNum;`
何らかの理由_
で文字が問題であり、AJAX はそれを取りたがりませんでした。言い換えると:
var uname = 'Sample'+ranNum;
この行はトリックを行います:=)