Войти - изменить действие формы на основе выбора? - PullRequest
0 голосов
/ 19 декабря 2009

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

У меня есть этот код, и мне нужно изменить действие формы

<form action="/ro1/index.php?action=login" method="post">
<input id="user" name="user" class="text" type="text" value="Name"/><br>
<input name="clear" type="hidden" value="true" />
<input id="password" name="password" type="password" value="Pass"/>

<select id="server_select" class="server_select" name="server">
<option value="/ro1/index.php?action=login" selected >World 1</option>
<option value="/ro2/index.php?action=login">World 2</option>
<option value="/ro3/index.php?action=login">World 3</option>
<option value="/ro4/index.php?action=login">World 4</option>
</select>
<input type="image" src="graphic/index/login1.png" name="submit">
</form>

Надеюсь, ты понял, что мне нужно.

1 Ответ

0 голосов
/ 19 декабря 2009

Вероятно, лучше всего обрабатывать выбор пользователей на сервере и либо выполнять там перенаправление, либо обрабатывать действие по мере необходимости. Но если вы действительно хотите справиться с этим на стороне клиента, вы должны использовать javascript. После включения библиотеки jQuery должно работать следующее:

$('#server_select').change(function(){
   $(this).parents('form').attr('action', $(this).val());
});

Чтобы быть более конкретным, добавьте следующий код в раздел head вашего html-файла.

<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>

<script type="text/javascript">
  $('#server_select').change(function(){
    $(this).parents('form').attr('action', $(this).val());
  });
</script>
...