Intereting Posts

Самый простой способ сделать заявку без обновления

Я пытался создать простой калькулятор. Используя PHP, мне удалось получить значения из полей ввода и перейти от меню POST, но, конечно, форма обновляется после отправки.

Используя Javascript, я попытался использовать

function changeText(){ document.getElementById('result').innerHTML = '<?php echo "$result";?>' 

но это продолжало бы давать ответ «0» после нажатия кнопки, потому что он не мог получать значения из POST, поскольку форма не была отправлена.

Поэтому я пытаюсь разработать либо самый простой способ сделать это с помощью ajax или чего-то подобного

или получить выбранные значения в меню перехода с помощью JavaScript.

Я прочитал несколько примеров ajax в Интернете, но они довольно запутывают (не знакомы с языком)

Используйте комбинацию jQuery + JSON, чтобы отправить форму примерно так:

test.php:

 <script type="text/javascript" src="jquery-1.4.2.js"></script> <script type="text/javascript" src="jsFile.js"></script> <form action='_test.php' method='post' class='ajaxform'> <input type='text' name='txt' value='Test Text'> <input type='submit' value='submit'> </form> <div id='testDiv'>Result comes here..</div> 

_test.php:

 <?php $arr = array( 'testDiv' => $_POST['txt'] ); echo json_encode( $arr ); ?> 

jsFile.js

 jQuery(document).ready(function(){ jQuery('.ajaxform').submit( function() { $.ajax({ url : $(this).attr('action'), type : $(this).attr('method'), dataType: 'json', data : $(this).serialize(), success : function( data ) { for(var id in data) { jQuery('#' + id).html( data[id] ); } } }); return false; }); }); 

Лучший способ сделать это – с помощью Ajax и jQuery

после того, как вы включите свою библиотеку jQuery в свою голову, используйте что-то вроде следующего

 $('#someForm').submit(function(){ var form = $(this); var serialized = form.serialize(); $.post('ajax/register.php',{payload:serialized},function(response){ //response is the result from the server. if(response) { //Place the response after the form and remove the form. form.after(response).remove(); } }); //Return false to prevent the page from changing. return false; }); 

Ваш php будет таким.

 <?php if($_POST) { /* Process data... */ if($registration_ok) { echo '<div class="success">Thankyou</a>'; die(); } } ?> 

Я использую новое окно. При сохранении я открываю новое окно, которое обрабатывает сохранение и закрывает загрузку.

 window.open('save.php?value=' + document.editor.edit1.value, 'Saving...','status,width=200,height=200'); 

Файл php будет содержать bodytag с onload = "window.close ();" и до этого, PHP-скрипт для сохранения содержимого моего редактора.

Вероятно, это не очень безопасно, но просто, как вы просили. Редактор получает информацию об отказе и т. Д.