Sytuacja jest taka. Mam plik settings.xml, w którym zawarte są ustawienia slidera - typu wysokość, szerokość itp.
Wszystkie te dane wyświetlam na stronie pobierając je z pliku. Wartości, np. Width:600 height:500 wyświetlam w polach input tak jak w formularzu.
I teraz pytanie: Czy istnieje możliwość takiego połączenia pól input z plikiem xml, by w momencie wpisywania nowej wartości np width:1000 zamiast 600, wartość width zmieniała się także w pliku settings.xml?
Bardzo proszę o pomoc.
P.S daleko mi do lenia, dlatego po napisaniu tego pytania, sam staram się znaleźć rozwiązanie. Jeżeli znajdę - powiadomię.
Próbowałem zrobić tak, żeby zmienić najpierw wartość "na siłę", ale nie wypaliło:
foreach($xml->General_Properties ->xpath("$xml->General_Properties->children") as $child ) {
$child->componentWidth->$arr["value"] = '200';
}
A żeby było jeszcze jaśniej: Oto kod, o którym mowa i z którego chciałbym zmieniać wartość value.
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"
type="text/javascript"></script>
<script>
function ajax(file,wynik){
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById(wynik).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",file,true);
xmlhttp.send();
}
</script>
</head>
<?php
$xml=simplexml_load_file($_SERVER['DOCUMENT_ROOT'] . '/1/wp-content/flashxml/3d-carousel-menu-as3-fx/settings.xml');
$ml = "xml.php";
$wynik = "wynik";
if (!isset($_GET['ajax'])){
echo '<div class="parental">';
echo "<button class='parent' onClick='ajax(\"".$ml."?ajax=1\",\"".$wynik."\")'>General</button>";
echo '<div id="wynik">';
echo '</div>';
echo '</div>';
}
else{
foreach($xml->General_Properties ->children() as $child) { //druk dzieci tylko przy ajaxie
$arr = $child->attributes();
echo $child->getName();
echo "<br><input type='text' name='value' value=" .$arr["value"]."><br>";
}
exit();
}
?>
</html>