У меня есть форма, которую я бы хотел отправить без обновления страницы, я новичок в AJAX
, и хотя мне удалось выполнить эту задачу, передав одно значение, я не уверен, как сделайте это с помощью массива.Передайте массив скрипту php с использованием AJAX
Форма ввода (отображается с помощью while
петли)
<input type="hidden" name="user" value="<? echo $user_id; ?>" >
<input type="text" name="reason[][<? echo $row['reasonID']; ?>]"
size="25" value="<? echo $row['reason_name']; ?>"/>
<input type="submit" class="submit" value="Save"/>
Сценарий
<script type="text/javascript" src="/js/jquery.js"></script>
<script>
$(function() {
$(".submit").click(function() {
var dataString = '????';
$.ajax({
type: "POST",
url: "save_reasons.php",
data: dataString,
success: function(){
alert('yay');
}
});
return false;
});
});
</script>
save_reasons.php
if(isset($_POST['save_reasons'])){
$user_id = $_POST['user'];
foreach($_POST['reason'] as $item=>$value)
{
if(is_array($value)){
foreach($value as $ID=>$reason)
{
$sql = "UPDATE gradeReason SET reason_name = '$reason' WHERE reasonID = $ID";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error($mysqli));
}
}
else{
if($value !=''){
$sql = "INSERT INTO gradeReason (reason_userID, category, reason_name) VALUES ($user_id, 'positioning', '$value')";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error($mysqli));
}
}
}
}
После выполнения некоторых исследований я думаю, что с помощью datastring является путь вперед, но я не уверен, как использовать это с массивом (reason
) и userID (user
), а затем используйте его в сценарии PHP
.
спасибо, как бы я использовал его на php-странице? (Я очень новичок в AJAX) – tatty27
все в порядке, судилось, подумал, что мне нужно каким-то образом неэриализовать данные, прежде чем я смогу их использовать, но немного исследований не показывают, спасибо за простое решение! – tatty27
Без проблем :). Рад был помочь. – L105