Передача скрытого ввода на основе выбранного значения - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь передать пару скрытых значений сервлету, используя форму. Проблема в том, что я хочу передать их, только если пользователь выбирает конкретную опцию.

<!-- FORM ABOVE -->

<input type="hidden" name="foo" id="foo" value="foo">
<input type="hidden" name="boo" id="boo" value="boo">

<fieldset id="selectProductSet">
  <div class="productListing">
    <input type="hidden" id="search" name="search" value="shoppingFor">
    <ul class="productList">
      <li data-value="A" onclick="boo();">product A</li>
      <li data-value="B" onclick="boo();">product B</li>
      <li data-value="C" onclick="boo();">product C</li>
    </ul>
    </input>
  </div>
</fieldset>

<!-- FORM BELOW -->

Могу ли я передать эти значения только в том случае, если пользователь отправляет форму во время определенного выбора?

1 Ответ

1 голос
/ 30 сентября 2019

Вы можете поместить код в вашу функцию boo, которая устанавливает / удаляет атрибут disabled из этих входов (если они отключены, они не будут отправлены с формой). Вот пример с видимыми входами и соответствующей функцией foo (на Product B):

function boo() {
  document.getElementById('foo').setAttribute('disabled', '');
  document.getElementById('boo').removeAttribute('disabled');
}

function foo() {
  document.getElementById('boo').setAttribute('disabled', '');
  document.getElementById('foo').removeAttribute('disabled');
}
<input name="foo" id="foo" value="foo">
<input name="boo" id="boo" value="boo">

<fieldset id="selectProductSet">
  <div class="productListing">
    <input type="hidden" id="search" name="search" value="shoppingFor">
    <ul class="productList">
      <li data-value="A" onclick="boo();">product A</li>
      <li data-value="B" onclick="foo();">product B</li>
      <li data-value="C" onclick="boo();">product C</li>
    </ul>
    </input>
  </div>
</fieldset>
...