2010-06-07 14 views
6

jQuery val() non ha ancora lavorare, questo è il semplice script:jquery val() non funziona

$("#com_form").submit(function() { 
      var name = $("#nama").val(); 
          var komentar = $("#komentar").val(); 
      alert.("Hi, "+name+" this is your comment: "+komentar) 
      }); 

     });*/ 

Questo è il modulo HTML:

<form method="post" name="com_form" id="com_form"> 
    <p>What is your name:<br> 

    <input type="text" name="nama" id="nama"> 
    </p> 
    <p>Leave your comment here:<br> 

    <input type="text" name="komentar" id="komentar"> 
    </p> 
    <p> 
    <input type="submit" name="button2" id="button2" value="Submit"> 
    </p> 
</form> 

in realtà, mi è stato cercato di creare ajax post, il valore "nama" viene inviato ma non "komentar". Così ho provato a eseguire il debug usando alert (come sopra) e ancora "komentar" non è cambiato. Cosa dovrei fare?

+1

'avviso. (...)' si dispone di un punto in più qui. – kennytm

+2

Ad eccezione di "." Dopo l'avviso, il codice funziona: http://jsfiddle.net/HATSX/ –

+0

Benvenuti in SO ...: D – Reigel

risposta

2

Hai alcuni errori nel tuo html. Il modulo dovrebbe avere l'attributo "azione", anche js non sta bene.

Ho realizzato file html e js che funzionano correttamente. Il file HTML ha superato la convalida di w3.org e js ha passato jslint.

 

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <script src="http://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 
    google.load("jquery", "1.4.2"); 
    </script> 
    <script type="text/javascript" src="2988992.js"></script> 
    <title>Insert title here</title> 
</head> 
<body> 
    <form method="post" name="com_form" id="com_form" action="2988992.html"> 
    <p>What is your name:<br> 
     <input type="text" name="nama" id="nama"> 
    </p> 
    <p>Leave your comment here:<br> 
     <input type="text" name="komentar" id="komentar"> 
    </p> 
    <p> 
     <input type="submit" name="button2" id="button2" value="Submit"> 
    </p> 
</form> 
</body> 
</html> 
 
 

"use strict"; 
/*global $, alert*/ 
$(function() { 
    $("#com_form").submit(function() { 
    var name = $("#nama").val(); 
    var komentar = $("#komentar").val(); 
    alert("Hi, " + name + " this is your comment: " + komentar); 
    return false; //prevent standard behavior 
    }); 
}); 
 
+0

L'attributo di azione non è richiesto per i moduli. Se non impostato - invierà all'URL corrente – ymakux

3

Hai un altro elemento HTML con l'ID "komentar" in un'altra posizione nella pagina?

+1

Sto lavorando in Django e ho avuto un input con lo stesso id nel mio base.html (un modello per tutte le pagine). La tua risposta mi ha davvero salvato. – nima

0

provare

$(document).ready(function() 
    { 
    //jquery code here 
    } 
0

Rimuovere il. dopo la dichiarazione di allerta così legge;

alert("Hi, "+name+" this is your comment: "+komentar)