To działa idealnie! ;)
Można to zrobić za pomocą Ajaxa i za pomocą tego, co nazywam: „elementem lustrzanego formularza”. Zamiast wysłać formularz z elementem zewnętrznym, możesz utworzyć fałszywy formularz. Poprzedni formularz nie jest potrzebny.
<!-- This will do the trick -->
<div >
<input id="mirror_element" type="text" name="your_input_name">
<input type="button" value="Send Form">
</div>
Kod ajax będzie wyglądał następująco:
<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>
Jest to bardzo przydatne, jeśli chcesz wysłać dane w innym formularzu bez przesyłania formularza nadrzędnego.
Ten kod prawdopodobnie można dostosować / zoptymalizować w zależności od potrzeb. Działa idealnie !! ;) Działa również, jeśli chcesz wybrać pole opcji takie jak to:
<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>
Mam nadzieję, że pomogło to komuś takiemu, pomogło mi. ;)