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"]')
