PHP: при выборе изменений, почтовая форма для себя

Это в основном то, что говорит название. У меня есть форма с выделенным элементом управления, который я хочу заставить форму отправить обратно на себя при изменении.

$bmsclientlist = $clientobj->getBMSClientList(); echo '<form name="changebmsid" method="post" action="' . $_SERVER['PHP_SELF'] . '"><select name="bmsid">'; foreach($bmsclientlist as $bmsclient) { $var = ''; if($client['bmsid'] == $bmsclient['id']) { $var = ' selected="selected"'; } echo '<option value="' . $bmsclient['id'] .'"'. $var .'>' .$bmsclient['clientname'] . '</option>'; } echo '</select></form>'; $backupobj = new AdminBackup(); if(isset($_POST['bmsid']){ $statusarray = $backupobj->getStatusTotalsbyId($_POST['bmsid']); }else{ $statusarray = $backupobj->getStatusTotals(); } 

Я знаю, что это привлечет некоторый javascript, но я не слишком уверен, как этого добиться.

Любая помощь наиболее ценится!

Благодаря,

Джоунси

Solutions Collecting From Web of "PHP: при выборе изменений, почтовая форма для себя"

Это <select> , который отправит родительскую форму

 <form method="post" action="#" name="myform"> <select name="x" onchange="myform.submit();"> <option value="y">y</option> <option value="z">z</option> </select> </form> 

Все, что вам нужно сделать, это указать имя вашей <form> и добавить событие onchange в ваш <select>


Адам прав. Хотя пример выше работает отлично, я бы сделал это следующим образом:

Использование jQuery, но есть много других доступных вариантов …

 <head> <script type="text/javascript" src="jquery.js"></script> <script> $(document).ready(function(){ $('#mySelect').change(function(){ myform.submit(); }); }); </script> </head> 

и форму

 <body> <form method="post" action="" name="myform"> <select name="x" id="mySelect"> <option value="y">y</option> <option value="z">z</option> </select> </form> </body> 

быстрое исправление:

Добавить атрибут onchange в ваш список избранных

 <select name="bmsid" onchange="javascript: form.submit();"> 

Измените свое меню выбора на следующее:

 <select name="bmsid" onchange="document.forms['changebmsid'].submit()"> 

Обновить

Вот еще один возможный подход:

 <script type="text/javascript"> window.onload = function() { document.forms['myform'].addEventListener('change', function() { this.submit(); }, true); }; </script> 

Поместите это где-нибудь на свою страницу, и вы можете оставить форму, как есть.