javascript - Hvordan kan jeg bruke querySelector for å velge et input-element etter navn?


Jeg mottok nylig hjelp på dette nettstedet med å bruke querySelector på en form input som select, men så snart jeg tok ut <select> endret det helt hva som måtte gjøres i funksjonen.

HTML :

<form onsubmit="return checkForm()">
    Password: <input type="text" name="pwd">
    <input type="submit" value="Submit">
</form>

Javascript:

<script language="Javascript" type="text/javascript">
    debugger;
    function checkForm() {
        var form = document.forms[0];
        var selectElement = form.querySelector('');
        var selectedValue = selectElement.value;

        alert(selectedValue);
</script>

Før hadde jeg ('select') for querySelector, men nå er jeg usikker på hva jeg skal sette der.
Jeg har prøvd flere ting samt querySelectorAll, men jeg klarer ikke å finne det ut.

For å være klar prøver jeg å hente name="pwd".

Hvordan kunne jeg gjøre dette?

Svar #1

Du kan prøve 'input[name="pwd"]':

function checkForm(){
     var form = document.forms[0];
     var selectElement = form.querySelector('input[name="pwd"]');
     var selectedValue = selectElement.value;
}

ta en titt på dette http://jsfiddle.net/2ZL4G/1/

Svar #2

Jeg vet at dette er gammelt, men jeg møtte nylig det samme problemet, og jeg klarte å velge elementet ved å få tilgang bare til attributtet slik: document.querySelector('[name="your-selector-name-here"]');

Bare i tilfelle noen noen gang skulle trenge dette :)

Svar #3

1- du må lukke funksjonsblokken med '}', som mangler.

2- argumentet til querySelector kan ikke være en tom streng '' eller ' '... Bruk '*' for alle.

3- de argumentene vil returnere den nødvendige verdien:

querySelector('*')

querySelector('input')

querySelector('input[name="pwd"]')

querySelector('[name="pwd"]')

Relaterte artikler