При попытке повесить событие на кнопку onclick = 'showHint(this.name)' то сценарий delete.php который прописан на форме не срабатывает, в чем проблема?
<script>
function showHint(str)
{
var answer = prompt('Change', str.substr(1));
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
document.location.href = "http://localhost/LABS/13/index.php";
};
xmlhttp.open("GET", "http://localhost/LABS/13/config1.php?q=" + str.substr(1) + "|" + answer, true);
xmlhttp.send();
}
</script>
<form method = "POST" action = "delete.php">
<?
$doc = new DOMDocument();
$doc->load('mv.xml');
//echo $doc->saveXML();
$catalogue = $doc->getElementsByTagName("catalogue");
echo "<ul>";
foreach ($catalogue as $catalogue) {
echo "<li id = '".$catalogue->getAttribute("catalog")."'>".$catalogue->getAttribute("catalog")."<input type = 'submit' name = 'D".$catalogue->getAttribute("catalog")."' value = 'Удалить'>"."<input type = 'button' onclick = 'showHint(this.name)' name = 'C".$catalogue->getAttribute("catalog")."' value = 'Изменить'>"."<input type = 'button' onclick = 'showHint(this.name)' name = 'A".$catalogue->getAttribute("catalog")."' value = 'Добавить'>"."</li>";
echo "<ul>";
Сам delete.php
<html>
<head>
<meta charset="UTF-8">
<title>Index</title>
</head>
<style>
</style>
<body>
<!-- <form method = "POST" action = "delete.php"> -->
<?
$doc = new DOMDocument();
$doc->load('mv.xml');
$xpath = new DOMXPath($doc);
$added = false;
$deleted = false;
//echo $doc->saveXML();
foreach($doc->getElementsByTagName("*") as $node)
{
$attributes = $node->attributes;
if(!is_null($attributes->item(0)->name) && !$added && !$deleted)
{
if ($attributes->item(0)->value == str_replace("_"," ", substr(key($_POST), 1)) )
{
if (substr(key($_POST), 0, 1) == "A")
{
$added = true;
switch ($node->tagName)
{
case 'catalogue': $nodeToAdd = $doc->createElement('view'); break;
case 'view': $nodeToAdd = $doc->createElement('subspecies'); break;
case 'subspecies': $nodeToAdd = $doc->createElement('marka'); break;
case 'marka': $nodeToAdd = $doc->createElement('model'); break;
case 'model': $nodeToAdd = $doc->createElement('model'); break;
default: $nodeToAdd = $doc->createElement('model');
break;
}
if ($node->tagName == 'model') $newNode = $node->parentNode->appendChild($nodeToAdd);
else $newNode = $node->appendChild($nodeToAdd);
switch ($node->tagName) {
case 'catalogue': $newNode->setAttribute("vid", "Вид"); break;
case 'view': $newNode->setAttribute("podvid", "Подвид"); break;
case 'subspecies': $newNode->setAttribute("company", "Марка"); break;
case 'marka': $newNode->setAttribute("mod", "Модель"); break;
case 'model': $newNode->setAttribute("mod", "Модель"); break;
default: $newNode->setAttribute("mod", "Модель");
break;
}
header("Location: http://localhost/LABS/13/index.php");
}
}
}
}
$doc->save("mv.xml");
?>
<!-- </form> -->
</body>
</html>
В файле mv.xml лежит
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE mvideo SYSTEM "mv.dtd">
<mvideo>
<!-- <catalogue catalog="TV and video"></catalogue> -->
<catalogue catalog="TV and video">
<view vid="plasma TVs">
<subspecies podvid="Plasma TVs 42">
<marka company="LG">
<model mod="PT351"/>
<model mod="WE638"/>
</marka>
<marka company="SAMSUNG">
<model mod="RT587"/>
</marka>
<marka company="SONY">
<model mod="SK532"/>
</marka>
</subspecies>
</view>
<view vid=" LCD/LED TVs">
<subspecies podvid="TV 15,30">
<marka company="Polar">
<model mod="48 LTV3101"/>
</marka>
</subspecies>
<subspecies podvid="TV 36,52">
<marka company="Akai">
<model mod="LEA-19V07P"/>
</marka>
</subspecies>
</view>
</catalogue>
<catalogue catalog="Catalogue of laptops and computers">
<view vid="Laptops and Computers">
<subspecies podvid="Computers">
<marka company="Lenovo">
<model mod="H410e"/>
</marka>
<marka company="HP">
<model mod="p6-2000ru H0B97EA"/>
</marka>
</subspecies>
<subspecies podvid="Monoblocks">
<marka company="Acer">
<model mod="Aspire Z1650 PW.SJ8E8.002"/>
</marka>
<marka company="Packard Bell">
<model mod="ONETWO S A3425 RU"/>
</marka>
</subspecies>
</view>
</catalogue>
</mvideo>
Частая ошибка. Непонимание событий формы.
У вас есть сейчас кнопка "<input type = 'submit'/>
Которая отрабатывает событие onSumbit().
Который отправляет вашу форму методом POST к скрипту delete.php
<form method = "POST" action = "delete.php">
У вас сначала произойдет onclick который не успеет вернуть ответ. Так как тут же страница обновится из-за onsubmit
Тыц1 Тыц2 Тыц3
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый день! Подскажите пожалуйста, поставил плагин проверки "битых ссылок", но необходимо его расширить, добавить пару url-адресов для проверки...
WP Данные из текстового поля попадают в переменную the_contentНужна функция, которая будет пробегаться по тексту, выискивать таблицы, не заключенные...