私のウェブサイトでは、jQuery ui フレームワークを使用してダイアログ フォームを作成しています。
ダイアログは、mySQL に挿入するトピック、レビュー コンテンツ、名前、都市を要求します。ただし、変数を PHP に渡したい場合、変数には値がありません。
ダイアログを処理する js 関数全体を次に示します。
$( "#dialog-form" ).dialog({
autoOpen: false,
height: 600,
width: 550,
modal: true,
buttons: {
"Skriv Review": function() {
var bValid = true;
allFields.removeClass( "ui-state-error" );
bValid = bValid && checkLength( topic, "topic", 3, 16 );
bValid = bValid && checkLength( review, "review", 1, 10000 );
bValid = bValid && checkLength( name, "name", 1, 25 );
bValid = bValid && checkLength( city, "city", 1, 16 );
bValid = bValid && checkRegexp( name, /^[a-z]([0-9a-z_])+$/i, "Bruger skal være a-z, 0-9, underscores, begynde med et bogstav." );
if ( bValid ) {
$( "#users tbody" ).append( "<tr>" +
"<td>" + topic.val() + "</td>" +
"<td>" + review.val() + "</td>" +
"<td>" + name.val() + "</td>" +
"<td>" + city.val() + "</td>" +
"</tr>" );
var data = {
topic: topic.val(),
review: review.val(),
name: name.val(),
city: city.val()
}
$.ajax({
type : 'POST',
url : 'bruger-reviews.php',
dataType : 'json',
data: data,
success : function(data){
//success
}
});
$( this ).dialog( "close" );
}
},
Cancel: function() {
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
}
});
PHPでデータを受け取る方法は次のとおりです。
$ins_topic = $_POST['topic'];
$ins_review = $_POST['review'];
$ins_name = $_POST['name'];
$ins_city = $_POST['city'];
jQuery UI のデモで行われているように、値を表示することに問題はありません。
変数を $_GET または $_POST すると、データがありません。値を PHP に渡すことができないのはなぜですか? 私が試すことができる別の方法はありますか?
ありがとう。