Có thể để bạn có thể sử dụng trường input
mà không có một thuộc tính id
hoặc name
? Không có điều đó, trình duyệt không thực sự có bất kỳ cách nào để liên kết lịch sử với phần tử đó.
Trong thật nhanh thử nghiệm của tôi trên Firefox, điều này dường như làm các trick:
<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>
Trong đoạn mã trên, các input
s với một id
hoặc name
sẽ nhớ các giá trị trong quá khứ, nhưng input
không mọi thứ và đầu vào chỉ với một số class
sẽ không phải ghi nhớ bất cứ điều gì.
Thật không may, điều này giúp bạn sử dụng input
hơi khó khăn hơn nếu bạn cần nó để có một name
hoặc id
. Trong trường hợp đó, tôi sẽ thử có một số id
'ed input
cũng được biên soạn display: none
' và sau đó sử dụng một số JavaScript để giữ cho nó được đồng bộ hóa với một số input
sẽ không nhớ giá trị quá khứ.
Ah, gợi ý tốt. Trong thực tế, tôi chỉ nhận ra rằng tôi thực sự đã giải quyết cùng một vấn đề trên câu hỏi của riêng tôi bằng cách sử dụng một '' và để lại tên trên đầu vào thực. Tôi giữ chúng đồng bộ với một đoạn jquery đơn giản: http://stackoverflow.com/questions/29756791/html-datalist-with-fallback-causes-duplicate-query-string-parameters –
@StephanMuller yup, đó là chính xác những gì tôi đã suy nghĩ! – thetoast
Đề xuất thú vị, ai đó có thể xác nhận liệu các tác phẩm tương tự cho Chrome có phù hợp không? Tôi đoán thậm chí chrome nhớ lịch sử dựa trên ID? –