Je veux qu’il y ait une zone de texte sur mon écran (comme celle que je tape en ce moment) dans laquelle vous pouvez taper puis cliquer sur le bouton Envoyer et il envoie tout ce que vous avez tapé dans la boîte à javascript et javascript l’imprime. mon code C'est la partie qui fonctionne.
<html>
<body>
<input type="text" id="userInput"=>give me input</input>
<button onclick="test()">Submit</button>
<script>
function test()
{
var userInput = document.getElementById("userInput").value;
document.write(userInput);
}
</script>
</body>
</html>
OK, c'est bien, mais disons que je veux une entrée depuis cette zone de texte et ce bouton alors que je suis déjà dans une fonction et que je ne veux pas la redémarrer?
Merci, Jake
Lorsque votre script est en cours d'exécution, il empêche la page de faire quoi que ce soit. Vous pouvez contourner ce problème de deux manières:
var foo = Prompt("Give me input");
, qui vous donnera la chaîne que l'utilisateur entre dans une boîte de dialogue (ou null
s'il l'annule)C'est un mauvais style, mais je suppose que vous avez une bonne raison de faire quelque chose de similaire.
<html>
<body>
<input type="text" id="userInput">give me input</input>
<button id="submitter">Submit</button>
<div id="output"></div>
<script>
var didClickIt = false;
document.getElementById("submitter").addEventListener("click",function(){
// same as onclick, keeps the JS and HTML separate
didClickIt = true;
});
setInterval(function(){
// this is the closest you get to an infinite loop in JavaScript
if( didClickIt ) {
didClickIt = false;
// document.write causes silly problems, do this instead (or better yet, use a library like jQuery to do this stuff for you)
var o=document.getElementById("output"),v=document.getElementById("userInput").value;
if(o.textContent!==undefined){
o.textContent=v;
}else{
o.innerText=v;
}
}
},500);
</script>
</body>
</html>
Si vous lisez ceci tardivement, mais ... à la lecture de votre question, il suffit de changer deux lignes de code
Accepter la saisie de l'utilisateur, la fonction réécrit à l'écran.
<input type="text" id="userInput"=> give me input</input>
<button onclick="test()">Submit</button>
<!-- add this line for function to write into -->
<p id="demo"></p>
<script type="text/javascript">
function test(){
var userInput = document.getElementById("userInput").value;
document.getElementById("demo").innerHTML = userInput;
}
</script>
J'ai essayé d'envoyer/ajouter les valeurs des balises d'entrée dans une variable JavaScript qui a bien fonctionné pour moi, voici le code:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function changef()
{
var ctext=document.getElementById("c").value;
document.writeln(ctext);
}
</script>
</head>
<body>
<input type="text" id="c" onchange="changef"();>
<button type="button" onclick="changef()">click</button>
</body>
</html>