Javascript, [object HTMLInputElement] bekijken

Ik ben net begonnen met het leren van HTML. Als ik een alert()doe op een van mijn variabelen, krijg ik dit resultaat [object HTMLInputElement].

Hoe krijg ik de gegevens die zijn toegevoegd in het tekstveld, waar mijn invoertype tekst is?


Antwoord 1, autoriteit 100%

Stel dat uw variabele myNodeis, u kunt myNode.valuedoen om de waarde van invoerelementen op te halen.

Firebug heeft een “DOM”-tab die nuttige DOM-attributen toont.

Zie ook de mozilla-pagina voor een referentie: https://developer.mozilla .org/en-US/docs/DOM/HTMLInputElement


Antwoord 2, autoriteit 100%

Als het element een <input type="text">, moet u de valuekenmerk:

alert(element.value);

Bekijk een voorbeeld in deze jsFiddle.

En aangezien je HTML begint te leren, zou je kunnen overwegen om console.log()te gebruiken in plaats van alert()voor foutopsporingsdoeleinden. Het onderbreekt de uitvoeringsstroom van het script niet, en je kunt een algemeen overzicht krijgen van alle logs in bijna elke browser met ontwikkelaarstools (behalve dienatuurlijk).

En u kunt natuurlijk overwegen om bijvoorbeeld een hulpprogramma voor webontwikkeling te gebruiken, zoals Firebug, dat is een krachtige add-on voor Firefox die veel functionaliteiten biedt (debuggen van javascript-code, DOM-inspecteur, realtime DOM/CSS-wijzigingen, verzoekbewaking …)


Antwoord 3, autoriteit 9%

Het is niet omdat je alert gebruikt, het zal ook gebeuren als je document.write() gebruikt. Dit probleem doet zich over het algemeen voor wanneer u uw id of klasse van een tag dezelfde naam geeft als elke variabele die u in uw javascript-code gebruikt. Probeer door de naam van de javascript-variabele te wijzigen of door de id/klasse-naam van uw tag te wijzigen.

Mijn codevoorbeeld:
bank.html

<!doctype html>
<html>
<head>
    <title>Transaction Tracker</title>
    <script src="bank.js"></script> 
</head>
    <body>
        <div><button onclick="bitch()">Press me!</button></div>
    </body>
</html>

Javascript-code:
bank.js

function bitch(){ amt = 0;
var a = Math.random(); ran = Math.floor(a * 100);
return ran; }
function all(){
amt = amt + bitch(); document.write(amt + "
"); } setInterval(all,2000);

u kunt het concept van mijn code bekijken en begrijpen. Hier heb ik een variabele met de naam ‘amt’ in JS gebruikt. Probeer gewoon mijn code uit te voeren. Het werkt prima, maar als je een [id=”amt”](zonder vierkante haken) (wat een variabelenaam is in JS-code) voor de div-tag in de body van html plaatst, zie je dezelfde fout als waar je het over hebt.
Zo eenvoudige oplossing is om de variabele naam of de ID of de klasnaam te wijzigen.


Antwoord 4, Autoriteit 6%

Wijzigen:

$("input:text").change(function() {
    var value=$("input:text").val();
    alert(value);
});

Naar

$("input:text").change(function() {
    var value=$("input[type=text].selector").val();
    alert(value);
});

Opmerking: selector: ID, klasse ..


Antwoord 5, Autoriteit 3%

<input type="text" />
<script>
$("input:text").change(function() {
    var value=$("input:text").val();
    alert(value);
});
</script>

Gebruik .VAL () om waarde van het element (jQuery-methode), $ (“Input: Text”) te krijgen deze selector om uw invoer, .change () te selecteren om een ​​gebeurtenishandler te binden aan het JavaScript-evenement “Change” .


Antwoord 6

Wanneer u een waarde krijgt van Client Make en dat bijvoorbeeld een waarde.

var current_text = document.getElementById('user_text').value;
        var http = new XMLHttpRequest();
        http.onreadystatechange = function () {
            if (http.readyState == 4 &&  http.status == 200 ){
                var response = http.responseText;
              document.getElementById('server_response').value = response;
                console.log(response.value);
            }

Other episodes