私はフォームを持っていて、それをajaxでphpスクリプトに送信したいのですが、チェックされていて送信できない場合はchceckboxの値を送信しませんアバター付きのファイル。したがって、フォームはテキスト入力からのみ値を送信しますが、チェックボックスやファイルからは送信しません。何が間違っているのかお手伝いできますか? フォーム:チェックボックスとファイルの値をajaxでフォームから送信する方法
<form action='' id='form1' method='post' name='form1' ENCTYPE='multipart/form-data'>
<input type='text' name='name' id='name' value=''>
<input type='text' name='age' id='age' value=''>
<input type='text' name='hobby' id='age' hobby=''>
<input type="checkbox" name="chkPHP" id="chkPHP" value="checked">
<input type='file' name='avatar' id='avatar' value='insert avatar' SIZE='30' accept=''>
<input type='submit' name='submit' id='submit' value='submit'>
</form>
スクリプトがフォームから値を送信します
あなたのAJAX呼び出しで<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
<script>
$(document).ready(function(){
$('#submit').click(function() {
$('#waiting').show(0);
$('#form1');
$('#error').hide(0);
$.ajax({
type : 'POST',
url : 'pksZpacuj.php',
dataType : 'json',
data: {
name: $('#name').val(),
age: $('#age').val(),
hobby: $('#hobby').val(),
chkPHP: $('#chkPHP').val(),
avatar: $('#avatar').val()
},
success : function(data){
$('#waiting').hide(0);
$('#error').removeClass().addClass((data.error === true) ? 'error' : 'success')
.html(data.msg).show(0);
if (data.error === true)
$('#form1');
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
$('#waiting').hide(0);
$('#error').removeClass().addClass('error')
.text('There was an error.').show(0);
$('#form1');
}
});
return false;
});
});
</script>
おかげで、それはチェックボックスに問題を解決しました。 :)ファイルは$ _FILES配列にあり、まだ動作しません。しかし、おそらくこの問題をCheviのファイルリンクで解決してください。 –