Запретить сброс нескольких флажков с одинаковым именем после отправки формы

Все, что вам нужно сделать, это назначить это свойство:

img {
    display: block;
}

У изображений по умолчанию есть это свойство:

img {
    display: inline;
}
2
задан Sajjad Ali 15 January 2019 в 18:08
поделиться

2 ответа

При отправке формы страница перезагружается, поэтому все изменения в документе будут потеряны. Но вы можете легко сделать это с помощью PHP:

<form method="post" action="" name="SearchForm">

  <input type="checkbox" name="color[]" value="Black" <?php echo 

При отправке формы страница перезагружается, поэтому все изменения в документе будут потеряны. Но вы можете легко сделать это с помощью PHP:

[110]

Что-то вроде этого должно работать.

Я надеюсь, что это поможет вам!

POST['color'][0]?'checked="checked"':'';?>> <input type="checkbox" name="color[]" value="White" <?php echo

При отправке формы страница перезагружается, поэтому все изменения в документе будут потеряны. Но вы можете легко сделать это с помощью PHP:

[110]

Что-то вроде этого должно работать.

Я надеюсь, что это поможет вам!

POST['color'][1]?'checked="checked"':'';?>> <input type="checkbox" name="color[]" value="Green" <?php echo

При отправке формы страница перезагружается, поэтому все изменения в документе будут потеряны. Но вы можете легко сделать это с помощью PHP:

[110]

Что-то вроде этого должно работать.

Я надеюсь, что это поможет вам!

POST['color'][2]?'checked="checked"':'';?>> <input type="checkbox" name="language[]" value="Punjabi" <?php echo

При отправке формы страница перезагружается, поэтому все изменения в документе будут потеряны. Но вы можете легко сделать это с помощью PHP:

[110]

Что-то вроде этого должно работать.

Я надеюсь, что это поможет вам!

POST['language'][0]?'checked="checked"':'';?>> <input type="checkbox" name="language[]" value="Sindhi" <?php echo

При отправке формы страница перезагружается, поэтому все изменения в документе будут потеряны. Но вы можете легко сделать это с помощью PHP:

[110]

Что-то вроде этого должно работать.

Я надеюсь, что это поможет вам!

POST['language'][1]?'checked="checked"':'';?>> <input type="checkbox" name="language[]" value="Saraiki" <?php echo

При отправке формы страница перезагружается, поэтому все изменения в документе будут потеряны. Но вы можете легко сделать это с помощью PHP:

[110]

Что-то вроде этого должно работать.

Я надеюсь, что это поможет вам!

POST['language'][2]?'checked="checked"':'';?>> </form>

Что-то вроде этого должно работать.

Я надеюсь, что это поможет вам!

0
ответ дан FZs 15 January 2019 в 18:08
поделиться

Чтобы убрать флажки, вы можете использовать метод protectDefault. Но тогда вы сами будете отвечать за обработку данных формы.
Вот как это может выглядеть:

<form method="post" action="" name="myForm"   >    
  <input class="color" type="checkbox" name="color[]" value="Black"> // Class matches name
  <input class="color" type="checkbox" name="color[]" value="White">
  <input class="color" type="checkbox" name="color[]" value="Green">    
  <input class="language" type="checkbox" name="language[]" value="Punjabi">
  <input class="language" type="checkbox" name="language[]" value="Sindhi">
  <input class="language" type="checkbox" name="language[]" value="Saraiki">
  <!-- The onclick attribute calls our processForm function -->
  <input type="submit" onclick="processForm(event)" value="Submit" />
</form>  

<script>
    function processForm(event) {
      event.preventDefault(); // Keeps the form from being submitted/cleared
      let checkedColorBoxes = document.querySelectorAll(".color:checked"); // Find checked boxes
      let checkedLanguageBoxes = document.querySelectorAll(".language:checked");
      // Store the values from the checked boxes 
      let selectedColors = [], selectedLanguages = [];
      for(let i = 0; i < checkedColorBoxes.length; i++){
        selectedColors.push(checkedColorBoxes[i].value); 
      }
      for(let i = 0; i < checkedLanguageBoxes.length; i++){
        selectedLanguages.push(checkedLanguageBoxes[i].value); 
      }
      // Now we have the values that would have been submitted, and can do what we like with them
      // If nothing better comes to mind, one (very kludgy) option is to populate another (hidden) 
      //   form with them and secretly submit that.
      console.log(`colors: ${selectedColors}`);
      console.log(`languages: ${selectedLanguages}`);         
    }
</script>

Другой подход заключается в том, чтобы прослушивать изменения флажков и отслеживать их состояния (отмеченные или не отмеченные). Затем в processForm () вы можете пропустить вызов warnDefault () и просто перепроверять соответствующие поля программно.

0
ответ дан Cat 15 January 2019 в 18:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: