Показать сообщение отдельно
  #4 (permalink)  
Старый 18.04.2012, 18:13
Новичок на форуме
Отправить личное сообщение для Domashniy Посмотреть профиль Найти все сообщения от Domashniy
 
Регистрация: 17.04.2012
Сообщений: 6

ок, сделал через ajax вот так
my.php
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

<script type="text/javascript">
function loadXMLDoc(method,url){
    if(window.XMLHttpRequest){
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open(method, url, true);
        req.send(null);
    }else if(window.ActiveXObject){
        req = new ActiveXObject("Microsoft.XMLHTTP");
        req.onreadystatechange = processReqChange;
        req.open(method, url, true);
        req.send();
    }
}
function processReqChange(){
    if(req.readyState == 4){
        if(req.status == 200){
                        getMy(req.responseText);
        }else{
            alert("There was a problem retrieving the XML data:n" + req.statusText);
        }
    }
}
function onChange_old(_this) {
	document.getElementById('my').innerHTML = "ok";
}
function onChange_(_this) {
        var url = "ajax.php?my="+_this.value;
        loadXMLDoc("get",url);
}
function getMy(data){
				var div = document.createElement("div");
				div.innerHTML = data;
			    document.getElementById('my').appendChild(div);
}
</script>


</head>
<body>

<?php
echo"<script src='copy.js' type='text/javascript'></script>";

function my(){
    $test = '<div id="my" name="my">';
	$test .= 'hello world';
	$test .= '<br>';
	$test .= '<input type="button" value="Go" onClick="onChange_(this)"/>';
	$test .= '</div>';
	return $test;
}
?>

<?php
  echo my();
?>

<br>
<input type="button" value="Add" onmouseup="addField()" />
</body>


вот ajax.php
<?PHP
header('Content-Type: text/html; charset=windows-1251');
$request = $_GET["my"];
if($request){
        echo loadData($request);
}

function getMy($request) {
	 $tmp = " - ok -";
return $tmp;
}

function loadData($request){
		$result = getMy($request);
        if($result) return $result = $result;
}
?>


и скрипт добавления
function addField() {
    var div = document.createElement("div");
    div.innerHTML = "<div id=\"new\" name=\"new\"> new </div>\n"; // - работает
//    div.innerHTML = "<?php echo my(); ?>"; // -не работает
    document.getElementById("my").appendChild(div);
    return false;
}


Что я хочу получить и никак не могу/ не понимаю
Нужно чтобы после нажатия кнопки Add
в текущую страничку добалялась функция php
<?php
  echo my();
?>


и исполялась.
Т.е. после одного нажатия должно получится
hello world + кнопка Go
hello world + кнопка Go

Как сделать такое ? я не силен в php и JS и документация тут не сильно помогает - так что подскажите если знаете
Ответить с цитированием