2011-10-12 18 views
8

Chcę użyć: Wymagany HTML 5.Typ wejścia html5 wymagany bez formularza. Czy to działa?

takich jak

<input type='text' required> 

wydaje się tylko do pracy, jeśli typ wejścia jest w formie. Czy mogę nie używać go samodzielnie, a następnie przez javascript zadzwonić jakiś rodzaj sprawdzania pierwszej metody?

Więcej komentarzy następujące opinie:

mam

<input id='name' type='text' required> 
    <input id='surname' type='text' required> 
    <input id='send' type='button' onclick ='send()'> 

    function send() { 
     if (document.getElementById('name').value == '') { alert('missing name'); return } 
     if (document.getElementById('surname').value == '') { alert('missing surname'); return } 

     // logic now... 

    } 

Bit gdzie sprawdza params wejściowe i wysyła alert, który jest nieco Chciałbym zmienić za pomocą HTML 5

+0

Czy możesz dodać trochę więcej kodu, aby lepiej wyjaśnić, co próbujesz osiągnąć? – beefyhalo

+1

Kiedy walidacja ma się odbyć, jeśli nie ma formularza do wysłania? – JJJ

+0

używasz AJAX do wysyłania wartości wejściowej off? –

Odpowiedz

9

Jasne, użyj

document.getElementById('your_input_id').validity.valid 

sprawdzić ważność pola dynamicznie.

+0

Btw, możesz sprawdzić inne wartości w obiekcie ważności, jeśli chcesz poznać dokładny powód, dla którego to pole jest nieprawidłowe. – RReverser

+0

document.getElementById ('your_input_id'). Validity.valid działa w tym sensie, że mówi "prawda"/"fałsz", ale nie przynosi wiadomości z podpowiedziami (wymagane) i skupia się na tekście, który nie ma paramu. – Zo72

+0

@ lorenzo72 Myślałem, że chcesz sprawdzić pole w JS i zaimplementować własny handler (podpowiedź itp.). Nie możesz robić, co chcesz. Powinieneś zawinąć swoje elementy do postaci lub zaimplementować własny uchwyt. – RReverser

2

Po pierwsze, atrybut "wymagany" zostanie uruchomiony przy zdarzeniu "submit", więc, jak sądzę, bez formularza - nic nie zostanie przesłane. Po drugie, dlaczego jest problem z formularzem?

2

W przypadku "wymaganego" powinno to działać tylko w przypadku przesłania formularza.

Powiązane problemy