2011-11-15 3 views
0

я следующий HTML формы:передавая значение входного сигнала с помощью JQuery на MySQL Query

<form method="post" action=""> 
    <input type="hidden" name="userid" id="user" value="<?php echo $user ?>"/> 
    <textarea name="comment" class="subcomment_form" id="ctextarea<?php echo $suggestid ?>"></textarea> 
    <input type="submit" value="Post" id="<?php echo $suggestid ?>" class="form_btn" style="margin-top: 5px"/> 
</form> 

следующий код JS:

$('.form_btn').live("click",function() 
{ 

var ID = $(this).attr("id"); 

var user= $("input[name=userid]").val(); 
var comment= $("#ctextarea"+ID).val(); 
var dataString = 'comment='+ comment + '&suggestid=' + ID + 'user' + user; 

if(comment=='') 
{ 
alert("Please Enter Comment Text"); 
} 
else 
{ 
$.ajax({ 
type: "POST", 
url: "action/subcomment.php", 
data: dataString, 
cache: false, 
success: function(html){ 
$("#commentload"+ID).append("html"); 
$("#ctextarea"+ID).val(''); 
$("#ctextarea"+ID).focus(); 
} 
}); 
} 
return false; 
}); 

и следующий PHP код для subcomment.php файла:

if($_POST['comment']) 
{ 
$comment=$_POST['comment']; 
$suggestid=$_POST['suggestid']; 
$user=$_POST['user']; 
$sql = "INSERT INTO user_suggestions_comments (uvd_id, user_id, usc_comment) VALUES ('".$_POST['suggestid']."', '".$_POST['user']."','".$_POST['comment']."')"; 
mysql_query($sql); 
} 

проблема у меня в том, что значение от <input type="hidden" name="userid" id="user" value="<?php echo $user ?>"/> не передается по файлу php и передается содержимое textarea. Что мне нужно изменить внутри этого JS-кода, чтобы он работал?

ответ

1

Похоже, что ваш dataString не строится так, как ожидает ваш PHP-код. Попробуйте это изменение.

var dataString = 'comment='+ comment + '&suggestid=' + ID + 'user' + user; 

становится

var dataString = 'comment='+ comment + '&suggestid=' + ID + '&user=' + user; 

Вы ищете три значения из вашего $ _POST и только проходя 2

$comment=$_POST['comment']; 
$suggestid=$_POST['suggestid']; 
$user=$_POST['user']; 
+0

Да, я предполагал, что он только что прошел в форме, как это я не знаю, почему он меняет его на строку данных ... –

+0

большое спасибо вам обоим, добавив и перед работающим пользователем :) –

+0

Похоже, он меняет его на строку данных, потому что suggestId i построенные из данных, которые не будут отправляться в обычном режиме. Но я бы сказал, что лучше сохранить имена в строке данных так же, как если бы форма была отправлена ​​естественным образом. Просто проясняет ситуацию. – Chris

Смежные вопросы