Czy to możliwe, aby użyć pola input
bez atrybutu id
lub name
? Bez tego przeglądarka nie ma żadnego sposobu powiązania historii z tym elementem.
W moim rzeczywistym szybkiego testów na Firefoksie, to wydawało się rade:
<form>
<!-- these will remember input -->
With id: <input id="myInputId" list="myList" /><br />
With name: <input name="myInputName" list="myList" /><br />
<!-- these will NOT remember input -->
No id, name, class: <input list="myList" /><br />
With class: <input class="myInputClass" list="myList" />
<datalist id="myList">
<option value="Option 1"></option>
<option value="Option 2"></option>
</datalist>
<br />
<input type="submit" />
</form>
W kodzie powyżej, input
s przy id
lub name
będzie pamiętał wartości z przeszłości, ale input
bez cokolwiek i dane wejściowe tylko z class
nie będą pamiętały niczego.
Niestety, ten robi używając input
nieco bardziej trudne, jeśli potrzeba to mieć name
lub id
. W takim przypadku powinienem wypróbować id
'ed input
, który jest również display: none
' ed, a następnie użyć trochę JavaScript, aby zachować synchronizację z input
, który nie będzie pamiętał poprzednich wartości.
Ach, dobrą propozycję. W rzeczywistości, po prostu zdałem sobie sprawę, że faktycznie rozwiązałem ten sam problem na moim własnym pytaniu, używając '' i pomijając nazwę na prawdziwym wejściu. Zachowuję je zsynchronizowane z prostym plikiem jquery: http://stackoverflow.com/questions/29756791/html-datalist-with-fallback-causes-duplicate-query-string-parameters –
@StephanMuller tak, właśnie to myślał! – thetoast
Interesująca sugestia, czy ktoś może potwierdzić, czy to samo działa również w Chrome? Zakładam, że nawet chrom zapamiętuje historię opartą na ID? –