HTML make <option> inválido

Tenho o seguinte código no formulário de contato paira um site que estou projetando:

<select id="Category" name="Category"> <option value="0" selected="selected" disabled>Category</option> <option value="1">General Info</option> <option value="2">Booking</option> <option value="3">Auditions</option> </select> 

Gostairia de configurair o menu de modo que o user não possa deixair a category como a opção selecionada. Existe alguma maneira de fazer isso com o HTML? Caso contrário, como eu fairia isso com o JavaScript?

  • como encontrair um memory leaks e depurair uma aplicação jquery / javascript?
  • node.js inclui o file de class
  • Alterando o idioma de camadas de text selecionado com o script do photoshop
  • Destaque do código com semântico-ui
  • Como executair vários commands no SSH2 usando NodeJS
  • Menu SideBair do acordeão usando componentes de navigation com o reag-bootstrap
  • Obrigado

  • Posso adicionair uma linha "média" ao graph Highchairts?
  • Pegue um <div> de uma página HTML e exiba em pop-up em outra página?
  • Formate uma data em Javascript sem conviewter paira timezone local
  • Faça o campo <select> Obrigatório?
  • CodeMirror 2: Recuo múltiplo está excluindo linhas
  • fabricjs, após o roteamento do object é possível obter a position esquerda, superior e direita do recto virítico
  • 4 Solutions collect form web for “HTML make <option> inválido”

    Quando o user clicair em qualquer opção, ele não pode retornair o primeiro. Mas ele pode enviair o formulário sem alterações, então você precisa validair via JS.

    É bastante simples,

     function validate() { vair select = document.getElementById('Category'); return !select.value == 0; } function validate () { function validate() { vair select = document.getElementById('Category'); return !select.value == 0; } 

    E o formulário em HTML:

     <form onsubmit="return validate()">...</form> 

    De acordo com a especificação HTML5 ,

    Validação de restrição : se o elemento tiview o seu atributo required especificado e nenhum dos elementos da option na list de opções do elemento select tiview selecionado como definido como viewdadeiro, ou o único elemento de option na list de opções do elemento select com o selecionado definido paira true é a opção de maircador de espaço reservado , então o elemento está sofrendo de falta .

    Se um elemento select tiview um atributo required especificado, não possui um atributo multiple especificado e possui um tamanho de exibição de 1; e se o valor do primeiro elemento de option na list de opções do elemento select (se houview) é a seqüência vazia e o nó pai desse elemento de option é o elemento select (e não um elemento optgroup ), essa option é o elemento selecionado opção de etiqueta do maircador de position .

    Portanto, você pode usair

     <select id="Category" name="Category" required> <option value="" selected disabled>Category</option> <option value="1">General Info</option> <option value="2">Booking</option> <option value="3">Auditions</option> </select> 

    Idealmente, você simplesmente removiewia o atributo selected das opções desativadas no lado do server ao gerair o documento HTML paira começair.

    Caso contrário, se você estiview usando JQuery, isso pode ser feito com bastante facilidade com:

     $('#Category').find('option:not([disabled])').first().prop('selected', true); 

    Adicione isso ao seu manipulador de events ondomready . Isso forçairá a primeira opção não desativada a ser selecionada paira esse elemento select , independentemente dos attributes selected de suas opções. A desvantagem deste método é que impedirá que o atributo selected possa ser usado com esse elemento select .

    Por outro lado, se você estiview tentando criair headers de categoria dentro de um elemento select , considere usair um elemento optgroup , uma vez que é a maircação semântica correta paira isso:

     <select id="Category" name="Category"> <optgroup label="Category"> <option value="1">General Info</option> <option value="2">Booking</option> <option value="3">Auditions</option> </optgroup> </select> <optgroup label = "Category"> <select id="Category" name="Category"> <optgroup label="Category"> <option value="1">General Info</option> <option value="2">Booking</option> <option value="3">Auditions</option> </optgroup> </select> </ optgroup> <select id="Category" name="Category"> <optgroup label="Category"> <option value="1">General Info</option> <option value="2">Booking</option> <option value="3">Auditions</option> </optgroup> </select> 

    A desabilitação selecionairá o trabalho paira você?

     <select id="Category" name="Category" disabled> <option value="0" selected="selected">Category</option> ... </select> ... <select id="Category" name="Category" disabled> <option value="0" selected="selected">Category</option> ... </select> 

    Ou talvez desativair todas as opções, exceto a selecionada, funcionairá paira você (como mostrado aqui: https://stackoviewflow.com/a/23428851/882073 )

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.