Ок. понял процентов 30
объясню что знаю, а там сам допишешь что надо
В начале ставишь себе библиотеку jquery чтобы не заморачиваться сильно с js. Берешь ее тут
http://jquery.com/ последнюю версию.
my.php
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<script src="jquery-1.7.1.js" type="text/javascript"></script> //подрубаешь библиотеку что только что скачал.
<script> //тут пишешь js код или подрубаешь файл где он хранится.
$(document).ready(function() { // особо не заморачивайся зачем это, просто все будет работать когда документ загружен полностью.
$(document).on('click', '.btn_go',send_ajax); //устанавливаем обработчик события для кнопки go. $(document).on - устанавливает обработчик. 'click' - действие которое произошло с элементом. В данном случаи клик, там может быть и пук и т.д. '.btn_go' - собственно для какого элемента установлен этот обработчик события. В твоем случаи все элементы имеющие класс - btn_go(все кнопки Go). send_ajax - название функции придуманное от балды, в общем функция будет вызваться когда произошло событие(у нас - клик на элемент с классом btn_go);
function send_ajax(){ //функция которая будет отправлять запрос на сервер и обрабатывать полученный результат.
$.ajax({
type: 'POST', //метод отправки запроса на сервер, пусть POST пофиг
url: 'ajax_my.php', //собственно как файл на сервере будет исполнен. в общем файл где есть функция my();
data:{},//данные которые будут на сервер передаваться, в нашем случаи никаких, если нужно выполнить тупо еще раз функцию my без параметров.
success: function(data){//собственно тут и надо разруливать данные присланные с сервера. функция будет вызываться при успешном ответе сервера. У ней есть параметр - data. В общем это те данные что пришли с сервера. В нашем случаи пришел хтмл код типа ((<div id="my" name="my">hello world<input type="button" value="Go" onClick="onChange_(this)"/></div>)). осталось только вставить его в нужно место на странице и все. я пустой блок с id="inner_block", в него и засунем то что пришло с сервера.
$('#inner_block').append(data) // $('#inner_block') - находит на странице элемент с id=inner_block. append(data) - в конец этого элемента дописывает нашу data(данные пришедшие с сервера)
}
});
}
});
</script>
</head>
<body>
function my(){
$test = '<div id="my" name="my">';
$test .= 'hello world';
$test .= '<br>';
$test .= '<input class="btn_go" type="button" value="Go" >'; //обзываем кнопку как btn_go чтобы привязать к нему обработчик события(когда кнопка будет нажата)
$test .= '</div>';
return $test;
}
<?php
echo my();
?>
<div id="inner_block"></div> - сюда будем вставлять пришедшие с серва данные.
</body>
Вот код для ajax_my.php тут все очень просто
<?php
function my(){
$test = '<div id="my" name="my">';
$test .= 'hello world';
$test .= '<br>';
$test .= '<input class="btn_go" type="button" value="Go" >';
$test .= '</div>';
return $test;
}
echo my();
?>
Вопрос лишь в том куда ты хочешь вставлять присланные данные в этот элемент, заменить элемент и т.д. тебе в помощь к append есть еще prepend(), html() - все jquery методы.