У меня есть страница PHP, где она имеет 12 отдельных форм с индивидуальным идентификатором формы и отдельным флажком, раскрывающимся списком и т. Д. Как на этом рисунке:
Теперь формы имеют зону обновления, которая в основном выбирает: имя, проверку включения или нет, время, затемнение и отправляет его в файл PHP для обработки.
Код для 3 зон
Таким образом, каждая форма имеет жестко запрограммированный URL-адрес LoopInfo.php? Id = 1, где id изменяется с 1 на 12, поэтому LoopInfo.php знает, какая кнопка обновления Zone нажата, и получает переменные из этой патентованной зоны
PHP Обработка и обновление XML
$id = $_GET['id'];
// echo "ID - ".$id.'<br>';
if($id > 0 && $id < 13)
{
// ZName - 1-12
// Zmode - 1-12
// ZTime - 1-12
// ZDim - 1-12
$radio = $_POST['radio'];
if($radio == 1)
{
$radio = 0;
}
// echo "Radio - ".$radio.'<br>';
$zn = "zname".$id;
$znam = $_POST["$zn"];
// echo "Name - ".$znam.'<br>';
$et = "EnTim".$id;
$entim = $_POST["$et"];
// echo "Timer - ".$entim.'<br>';
$ot = "OnTim".$id;
$ontim = $_POST["$ot"];
// echo "On Time - ".$ontim.'<br>';
$oft = "OfTim".$id;
$oftim = $_POST["$oft"];
// echo "Off Time - ".$oftim.'<br>';
$ed = "EnDim".$id;
$endim = $_POST["$ed"];
// echo "Dim - ".$endim.'<br>';
$d = "Dim".$id;
$dim = $_POST["$d"];
// echo "Dim Per - ".$dim.'<br>';
$bin = $radio.$endim."00000".$entim;
// echo "Binary - ".$bin.'<br>';
$loopval = bindec($bin);
// echo "Loop Val - ".$loopval.'<br>';
// print_r($_POST);
// die;
$hunza=simplexml_load_file('LoopInfo.xml');
if($hunza)
{
$zmode='Z'.$id.'Mode';
$hunza->$zmode=$loopval;
if($znam == '')
{
}
else
{
$name='Zname'.$id;
$hunza->$name=$znam;
}
if($entim == 1)
{
$ontime='Z'.$id.'TimeOn';
$hunza->$ontime=$ontim;
$oftime='Z'.$id.'TimeOff';
$hunza->$oftime=$oftim;
}
if($endim == 1)
{
$dimval='Z'.$id.'Dim';
$hunza->$dimval=$dim;
}
$hunza->asXML('LoopInfo.xml');
// echo "<script>console.log('File Updated' );</script>";
header("Location: index.php");
}
else
{
echo "Error Loading File";
echo "<script>console.log('Error Load File' );</script>";
}
}
Таким образом, каждая форма представляет собой форму, которая при нажатии на зону обновления захватывает все данные формы, передает их в LoopInfo.php, а LoopInfo.php обновляет эти значения в XML в соответствующих тегах.
Цель: я пытаюсь добиться того, чтобы я мог обновить зону без перезагрузки страницы, то есть с помощью Ajax Javascript. Таким образом, Javascript захватывает все значения при обновлении из формы, создает Ajax-запрос и отправляет в один и тот же PHP-файл для обработки. Я пробовал поиск в Google "Javascript Ajax Multiple Form для отправки данных в одном PHP" безрезультатно. Можно ли получить универсальную функцию, которая при вызове получает идентификатор формы и узнает, что это ID 1, создал URL LoopInfo.php? Id = 1 и отправляет все данные формы вместе с этим запросом URL.