Часть строки запроса URL обрезается при использовании в качестве ссылки в кнопке

0

У меня есть следующий код, чтобы связать кнопку с определенным URL-адресом.

stage_link = " 'http://limitless-scrubland-2940.herokuapp.com/game/game.html?stageid=5' "
<form action=stage_link method='get'> 
    <button>Play stage!</button>
</form>

Кнопка отображается отлично, но она ссылается на: " http://limitless-scrubland-2940.herokuapp.com/game/game.html "

Почему часть запроса-строки (?stageid=5) усекается? Возможно ли предотвратить это?

Теги:
url

2 ответа

1

Просто. <form action не может быть запросом $_GET. Используйте скрытое поле и протестируйте его, если вы должны отправить форму:

<form method='get' action='http://limitless-scrubland-2940.herokuapp.com/game/game.html' method='get'>
  <input type='hidden' name='stageid' value='5' />
  <input type='submit' value='Play stage!' name='playstage' id='playstage' />
</form>

Теперь проверьте для $_GET['stageid'] на вашей странице PHP.

Для вашей цели, однако, вам просто нужно:

<a id='playstage' href='http://limitless-scrubland-2940.herokuapp.com/game/game.html?stageid=5'>
  Play stage!
</a>
  • 0
    На самом деле я не использую PHP, но можете ли вы объяснить, как использовать этот тег input <> с моей кнопкой?
  • 0
    <button type='button'>text</button> и <input type='button' value='text' /> практически одинаковы. Кнопка на самом деле даже не отправляет форму, если ее type='submit' , который может быть type по умолчанию, в зависимости от вашего браузера, если вы не используете JavaScript для отправки формы. Мой второй пример, вероятно, то, что вы хотите, если вам не нужно отправлять форму. Вы всегда можете #playstage{text-decoration:none;} тег <a> , например: #playstage{text-decoration:none;} , добавив отступы и другие функции CSS, чтобы он выглядел как кнопка.
0
<form action="" method='get'> 
    <button>Play stage!</button>
</form>
<script>
document.forms[0].action= "http://limitless-scrubland-2940.herokuapp.com/game/game.html"
var input = document.createElement('input');
input.type = 'hidden';
input.name = 'stageid';
input.value = '5';
document.forms[0].appendChild(input);
</script>

См. Отправку формы GET с параметрами строки запроса, а скрытые параметры исчезнут из-за причины.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню