Nano Hash - криптовалюты, майнинг, программирование

Javascript this.form.submit() с переключателем

у меня есть эта система звездного рейтинга для моей веб-страницы, где вы можете выбрать звездный рейтинг (1-5), и я хотел отправить форму, когда кто-то нажимает любую из звезд, но прямо сейчас он не отправляет значение переключателя, если я что-то проверяю, я думаю, это потому, что он отправляет форму до того, как проверит переключатель. Есть ли лучший способ отправить форму со значением переключателя onclick?

<form method="POST" action="/rating" accept-charset="UTF-8"><input name="_token" type="hidden" value="vySkIFDPujcmxjfs83m3OwojcbPIaHuuMhKvVErx">

        <input name="movie_id" type="hidden" value="2">


        <input id="star5" name="rating" type="radio" value="5">
        <label for="star5" class="full" title="Awesome" onclick="this.form.submit()"> </label>


        <input id="star4" name="rating" type="radio" value="4">
        <label for="star4" class="full" title="Good" onclick="this.form.submit()"> </label>


        <input id="star3" name="rating" type="radio" value="3">
        <label for="star3" class="full" title="Mediocre" onclick="this.form.submit()"> </label>


        <input id="star2" name="rating" type="radio" value="2">
        <label for="star2" class="full" title="Bad" onclick="this.form.submit()"> </label>


        <input id="star1" name="rating" type="radio" value="1">
        <label for="star1" class="full" title="Horrible" onclick="this.form.submit()"> </label>

        </form>

20.02.2019

  • поменяй на onchange и посмотри что будет 21.02.2019
  • Просто используйте обычные кнопки отправки. Не используйте JS, чтобы попытаться превратить радиокнопку в кнопку отправки. 21.02.2019

Ответы:


1

Вместо этого используйте onchange для элементов <input />:

<form method="POST" action="/rating" accept-charset="UTF-8"><input name="_token" type="hidden" value="vySkIFDPujcmxjfs83m3OwojcbPIaHuuMhKvVErx">

  <input name="movie_id" type="hidden" value="2">

  <label for="star5" class="full" title="Awesome">
<input id="star5" name="rating" type="radio" value="5" onchange="this.form.submit()">
  </label>

  <label for="star4" class="full" title="Good">
<input id="star4" name="rating" type="radio" value="4" onchange="this.form.submit()">
  </label>

  <label for="star3" class="full" title="Mediocre">
<input id="star3" name="rating" type="radio" value="3" onchange="this.form.submit()">
  </label>

  <label for="star2" class="full" title="Bad">
<input id="star2" name="rating" type="radio" value="2" onchange="this.form.submit()">
  </label>

  <label for="star1" class="full" title="Horrible">
<input id="star1" name="rating" type="radio" value="1" onchange="this.form.submit()">
  </label>

</form>

20.02.2019
  • с onchange он вообще не отправляет форму :\ 21.02.2019
  • <label> не имеет onchange события 21.02.2019
  • поместите событие onChange в элемент <input />. 21.02.2019
  • да я понял, я тупой. Я использовал его для ввода переключателя, и теперь он работает, спасибо. Теперь с ним работает даже onclick. 21.02.2019
  • @dentora, это круто, код в ответе использует ярлык ... :-) В этом нет ничего глупого. Единственное предложение может состоять в том, чтобы перехватить сообщение формы и сделать это в JS, чтобы при выборе не нужно было выполнять полный путь к серверу. 21.02.2019
  • Спасибо, @Tracker1, я всегда рад, когда кому-то нравится мой стиль работы. 21.02.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..