J'essaie de coder un formulaire simple qui obtiendra du texte, puis s'affiche dans une boîte de dialogue lorsque je clique sur le bouton Soumettre.

<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <title>Página Teste</title>
</head>
<body>
<header>
    <div>
        <h1>Questão 4</h1>
    </div>
</header>

<div>
    <label for="texto">Texto: </label>
    <textarea name="texto" id="texto" rows="5" cols="10"></textarea>

    <button type="submit" id="submit">Enviar</button>
</div>  
<script>

    var teste = $("texto").val;

    $("submit").on("click", function(){
        $("teste").dialog("open");
    });

</script>
</body>
</html>

Lorsque je clique sur le bouton, rien ne se passe, et j'ai essayé certaines façons de faire ce script et aucune ne semble fonctionner.

0
Pablo Sylar 26 janv. 2019 à 16:17

4 réponses

Meilleure réponse

Il vous manque un # et .val est une fonction, utilisez donc .val().

Je ne suis pas sûr de comprendre ce que vous voulez faire avec la boîte de dialogue, mais vous devriez essayer quelque chose comme ceci:

$("#submit").on("click", function(){
    var teste = $('#texto').val();

    alert(teste);
});
2
Louys Patrice Bessette 26 janv. 2019 à 13:40

Vous pouvez le faire en utilisant un document prêt. Aussi, si vous le souhaitez, vous pouvez avoir un fichier javascript séparé et faire beaucoup plus d'opérations

<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <title>Página Teste</title>
</head>
<body>
<header>
    <div>
        <h1>Questão 4</h1>
    </div>
</header>

<div>
    <label for="texto">Texto: </label>
    <textarea name="texto" id="texto" rows="5" cols="10"></textarea>

    <button type="submit" id="submit">Enviar</button>
</div>  
<script>

 $(document).ready(function(){
   var teste = $('#texto').val();
    $("#submit").on("click", function(){
        alert("teste")
    });})

</script>
</body>
</html>
0
Ros5292 26 janv. 2019 à 13:37

Lorsque vous appelez $("teste").dialog("open"); ou $("texto").val() jQuery recherchera un élément <teste></teste> dans le dom. Puisque l'élément n'existe pas dans votre exemple, il ne fera rien.

Vous manquez peut-être un . ou # dans le sélecteur que vous passez à $(selector)?

0
Ovenwand 26 janv. 2019 à 13:43

Essaye ça:

$(document).ready(function(){
  var teste = $("texto").val;
    $("#submit").on("click", function(){
        console.log("something happens");
    });})
1
v-moe 26 janv. 2019 à 13:28