#javascript #html #slideshow
#javascript #HTML #слайд-шоу
Вопрос:
Я пытаюсь в основном отправить свою форму при нажатии на изображение слайд-шоу. Я создал форму и ввел значения с type="image"
помощью, но сегодня понял, что некоторые браузеры не обрабатывают входные значения из <input type="image">
. Каков наилучший способ сделать это?
<form method="GET" action="/filtered">
<div class="slider-wrapper"><!-- innermost wrapper element -->
<input class="slide" type="image" style="width: 100%; height: 60vh;" name="category" value="Car Cleaning Products" alt="Car Cleaning Products" src="../public/css/img/car-cleaning-slideshow.JPG">
<input class="slide" type="image" style="width: 100%; height: 60vh;" name="category" value="Car Cleaning Products" alt="Car Cleaning Products" src="../public/css/img/jan-supplies-slideshow.JPG">
<input class="slide" type="image" style="width: 100%; height: 60vh;" name="category" value="Car Cleaning Products" alt="Car Cleaning Products" src="../public/css/img/paper-products-slideshow.JPG">
</div>
</form>
Комментарии:
1. Вы могли бы добавить
<input type="submit" />
display: none
поверх изображений.2. к сожалению, не сработало
Ответ №1:
Использовать method="post"
get для извлечения данных, а не для отправки данных.
Я считаю, что это сработает
Ответ №2:
Если вы действительно хотите сохранить свой метод запроса как GET , вы можете применить an id
к своему form
тегу; затем добавьте an onclick="submitForm()"
к своим input
тегам (это также будет работать с img
тегом или любым другим). Затем мы определим нашу функцию в некотором простом коде javascript. Надеюсь, я помог!
<form id="form" method="GET" action="/filtered">
<div class="slider-wrapper"><!-- innermost wrapper element -->
<input onclick="submitForm()" class="slide" type="image" style="width: 100%; height: 60vh;" name="category" value="Car Cleaning Products" alt="Car Cleaning Products" src="../public/css/img/paper-products-slideshow.JPG">
</div>
</form>
<script>
function submitForm() {
document.getElementById("form").submit();
}
</script>
Комментарии:
1. Я сделал это точно, и, к сожалению, до сих пор не работал. Мне действительно понравился этот метод, хотя, потому что то, как я писал внутренний код, я не мог отправить форму как сообщение.
2. Возможно, попробуйте удалить историю / кэш вашего браузера или использовать вкладку инкогнито. Если это не так, попробуйте использовать другой браузер. Я знаю, что этот код определенно использует правильное поведение, поэтому это звучит как локальная проблема.
3. пробовал и это, супер странно, не уверен, почему это не работает.
Ответ №3:
Просто измените form
метод на POST
будет работать.
<form method="POST" action="/filtered">
<div class="slider-wrapper">
<!-- innermost wrapper element -->
<input class="slide" type="image" style="width: 100%; height: 60vh;" name="category" value="Car Cleaning Products" alt="Car Cleaning Products" src="../public/css/img/car-cleaning-slideshow.JPG">
<input class="slide" type="image" style="width: 100%; height: 60vh;" name="category" value="Car Cleaning Products" alt="Car Cleaning Products" src="../public/css/img/jan-supplies-slideshow.JPG">
<input class="slide" type="image" style="width: 100%; height: 60vh;" name="category" value="Car Cleaning Products" alt="Car Cleaning Products" src="../public/css/img/paper-products-slideshow.JPG">
</div>
</form>