#html
#HTML
Вопрос:
Это мой HTML:
<form action="http://example.com/rezervari/index.html#/hotelbooking" method="get">
<input type="hidden" name="hotel" value="<?= $hotel ?>" class="form-control">
<input type="hidden" name="roomtypegroups" value="<?= $roomtypegroups ?>" class="form-control">
<div class="form-row">
<div class="col">
<div class="form-group">
<label>Sosire</label>
<div class="input-group mb-3">
<input id="from" type="text" name="from" value="<?= $arrival == 'CURRENT' ? date('Y-m-d') : $arrival ?>" class="form-control datepicker1">
<div class="input-group-append datepicker1-h">
<span class="input-group-text" id="basic-addon2"><i class="fa fa-calendar-check-o" aria-hidden="true"></i></span>
</div>
</div>
</div>
</div>
<div class="col">
<div class="form-group">
<label>Plecare</label>
<div class="input-group mb-3">
<input id="to" type="text" name="to" value="<?= $arrival == 'CURRENT' ? date('Y-m-d', strtotime(date('Y-m-d') . ' ' . $departure . ' day')) : date('Y-m-d', strtotime($arrival . ' ' . $departure . ' day')) ?>" class="form-control datepicker2">
<div class="input-group-append datepicker2-h">
<span class="input-group-text" id="basic-addon2"><i class="fa fa-calendar-times-o" aria-hidden="true"></i></span>
</div>
</div>
</div>
</div>
</div>
Когда я отправляю форму, URL-адрес теряет «#» и портит его, и это бесполезно, потому что запрос не работает на дополнительном веб-сайте, поскольку он становится:
Вместо этого он должен быть:
Как я могу передать ссылку без удаления «#» и искажения всего URL-адреса? Спасибо!
Комментарии:
1. Вам нужно будет использовать JavaScript. Все, что находится после
#
, является фрагментом и должно идти после строки запроса.
Ответ №1:
Предполагается, что идентификаторы фрагментов ссылаются на определенную часть веб-страницы и разрешаются на стороне клиента.
Следовательно, они должны идти после строки запроса.
Когда вы отправляете форму метода GET, она заменит все после начала строки запроса в action
с новой сгенерированной строкой запроса.
Если у вас есть какой-то хак, который считывает идентификатор фрагмента на стороне клиента, и вам нужно поместить строку запроса внутрь идентификатора фрагмента, чтобы этот код мог ее прочитать, вы не можете использовать стандартную логику отправки формы.
Вам нужно будет добавить обработчик submit
событий в форму с помощью JavaScript, запретить действие по умолчанию, создать URL самостоятельно, а затем перейти к нему (например, присвоив его location
).
Комментарии:
1. Спасибо за ваш ответ. Если у вас есть время, может быть, вы можете предложить часть javascript, так как я новичок в JS. Спасибо 🙂
2. Я должен написать, что я сделал: вот мой код для кнопки отправки. <тип кнопки=»отправить» class=»btn butn» onclick=»javascript: form.action=’ Search example.com/stuff/index.html #/… >