作業中のフォームでajaxを使用しようとしています。そのために、field_name = field_value&field_name=field_valueなどの投稿文字列を作成しています。
「未定義」がどこから来ているのか理解するのに苦労しています。このスクリーンショットを見てください
注意深く見ると、私が使用しているループが表示され、「email = Email&password=Password」ではなく「undefinedemail=Emailpassword=Password」が出力されます。
これが私が使用しているフォームとJavaScriptのストリップバージョンです:
<form id="signup_form" enctype="multipart/form-data" action="register.php" method="post">
<input name="email" type="text" value="Email"/>
<input name="password" type="text" value="Password"/>
<input name="email_confirm" type="text" value="Confirm Email"/>
<input name="password_confirm" type="text" value="Confirm Password"/>
<input name="first_name" type="text" value="First Name"/>
<input name="country" type="text" value="Country"/>
<input name="birthday" type="text" value="Birthday DD/MM/YYYY"/>
<input name="last_name" type="text" value="Last Name"/>
<input name="city" type="text" value="City"/>
<input name="profession" type="text" value="Profession"/>
<input type="radio" name="gender" value="Male"><span>Male</span>
<input type="radio" name="gender" value="Female"><span>Female</span>
<input type="checkbox" name="user_type" value="User type" /><span>Checkbox</span>
<button type="submit" name="submit" class="" id="submit">Sign up</button>
</form>
javascript:
var post_string;
var input = document.forms["signup_form"].getElementsByTagName("input");
for(var i = 0; i < input.length; i++) {
post_string += input[i].name + "=" + input[i].value;
if(i > 0 && i < input.length) { post_string += "&"; }
}
助けてくれてありがとう!