Это отлично работает! ;)
Это можно сделать с помощью Ajax и с помощью того, что я называю «элементом зеркала формы». Вместо того, чтобы отправить форму с внешним элементом, вы можете создать поддельную форму. Предыдущая форма не нужна.
<!-- This will do the trick -->
<div >
<input id="mirror_element" type="text" name="your_input_name">
<input type="button" value="Send Form">
</div>
Код ajax будет выглядеть так:
<script>
ajax_form_mirror("#mirror_element", "your_file.php", "#your_element_response", "POST");
function ajax_form_mirror(form, file, element, method) {
$(document).ready(function() {
// Ajax
$(form).change(function() { // catch the forms submit event
$.ajax({ // create an AJAX call...
data: $(this).serialize(), // get the form data
type: method, // GET or POST
url: file, // the file to call
success: function (response) { // on success..
$(element).html(response); // update the DIV
}
});
return false; // cancel original event to prevent form submitting
});
});
}
</script>
Это очень полезно, если вы хотите отправить некоторые данные в другую форму без отправки родительской формы.
Этот код, вероятно, может быть адаптирован / оптимизирован в соответствии с необходимостью. Работает отлично !! ;) Также работает, если вы хотите выбрать опцию вот так:
<div>
<select id="mirror_element" name="your_input_name">
<option id="1" value="1">A</option>
<option id="2" value="2">B</option>
<option id="3" value="3">C</option>
<option id="4" value="4">D</option>
</select>
</div>
Я надеюсь, что это помогло кому-то, как это помогло мне. ;)