MySQLにデータを投稿するための簡単なフォームを作成しています。なぜGETではなくPOSTをするのか、あなたは考えていますか?このフォームには多くの文字を使用できる説明フィールドがあり、GETには文字制限があるため、POSTを使用することを選択しました。
これ以上の説明なしで、これが私のHTMLフォームです。
<form name="addExperienceForm" id="addExperienceForm" style="display:none;">
Title:<input type="text" name="title" id="title" />
From:<input type="text" name="startDate" id="startDate" />
To:<input type="text" name="endDate" id="endDate" />
Description:<textarea type="message" name="description" id="description"></textarea>
<input type="button" value="Submit" onclick="addUserExp()"/>
</form>
次の形式の日付ボックスのjQueryDatepickerコードは次のとおりです。
//allow a date range to be selected
$("#startDate").datepicker({
changeMonth : true,
changeYear : true,
dateFormat : "M,yy",
})
$("#endDate").datepicker({
changeMonth : true,
changeYear : true,
dateFormat : "M,yy",
})
これはAJAX関数呼び出しです:
function addUserExp(){
var title = document.getElementById('title').value;
var startDate = document.getElementById('startDate').value;
var endDate = document.getElementById('endDate').value;
var description = document.getElementById('description').value;
var str = "title="+title+"start="+startDate+"end="+endDate+"desc="+description;
var req = getXMLHTTP();
if(req){
req.onreadystatechange = function(){
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('addNewExp').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
}
req.open("post", "addExperience.php", true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(str);
}
問題はAJAX呼び出しにあると思われます。おそらく、「str」変数に関係している可能性があります。