Моя проблема:
У меня есть index.html:
<form action="toload.php" method="post"> Input: <input type="text" name="something" value="" /><br /> <input type="submit" value="Submit!" /> </form>
toload.php
– это что-то вроде:
<?php echo "Your input was: " . $_POST["something"]; ?>
-<?php echo "Your input was: " . $_POST["something"]; ?>
Вопрос довольно прост.
Когда я нажимаю кнопку « Submit!
, я хотел бы динамически загружать содержимое toload.php
в index.html
без необходимости обновления.
Заранее спасибо! прокомментируйте все необходимые разъяснения.
EDIT, более подробное объяснение:
Я не уверен, что я буду чист (или, может быть, я не понимаю, что ответы соответствуют моим недостаткам технических навыков), поэтому я дам ему еще один шаг. (Повторная запись)
У меня есть HTML для кнопки отправки, которая отправляет переменную через метод POST.
Эта переменная используется файлом PHP, и после определенного процесса она вставляет и обновляет базу данных MySQL и отгоняет некоторые другие вещи.
Это работает JUST FINE.
Но теперь я хочу улучшить его, избегая «перезагрузки» страницы (переход на .php).
Я хочу, чтобы HTHL появился как вывод моего HTML-файла, который будет динамически отображаться на моей HTML-странице.
Теперь ясно?
что-то вроде этого с jQuery !:
<form action="toload.php" method="post"> Input: <input type="text" id="something" name="something" value="" /><br /> <input type="submit" value="Submit!" onclick="submitme()" /> <div id="something2"></div> </form>
и функция для отправки:
function submitme(){ var tosend=document.getElementById("something").value; $.ajax({ type: 'POST', url: 'toload.php', data: 'something='+tosend, success: function(msg){ if(msg){ document.getElementById("something2").innerHTML=msg; } else{ return; } } }); }
Вы должны использовать AJAX (XMLHttpRequest) для этого – http://www.w3schools.com/XML/xml_http.asp .
(Вы сказали просто – так как длительная загрузка 100KB jQuery – это не просто IMHO, я предложил чистое решение для JavaScript)
В вашем случае вы можете использовать $.post()
DOCS . Если вы id="myForm"
свою форму id="myForm"
вы можете загрузить возвращаемые данные в родительский id="myForm"
формы в id="myForm"
следующим образом:
$('#myForm').submit(function(e){ e.preventDefault(); $.post("toload.php", $("#myForm").serialize(), function(data) { $(this).parent().html(data); }); });