2010-06-07 28 views
6

jQuery val() den Ball hielt arbeiten, ist dies die einfache Skript:jquery val() nicht funktioniert

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

     });*/ 

das ist das HTML-Formular:

<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> 

eigentlich war ich versucht, Ajax zu erstellen post, der Wert "nama" wird übermittelt aber nicht "komentar". Also habe ich versucht mit Hilfe von Alert (wie oben) zu debuggen und trotzdem "komentar" ist keine Änderung. Was soll ich machen?

+1

'Alarm. (...)' Sie haben einen zusätzlichen Punkt hier. – kennytm

+2

Mit Ausnahme der '.' nach Alert funktioniert Ihr Code: http://jsfiddle.net/HATSX/ –

+0

Willkommen bei SO ...: D – Reigel

Antwort

2

Sie haben einige Fehler in Ihrem HTML. Form sollte "action" -Attribut haben, auch js ist nicht gut.

Ich machte Beispiel HTML und JS-Dateien, die korrekt funktioniert. Die HTML-Datei hat die Validierung von w3.org bestanden und js hat jslint übergeben.

 

<!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

Aktionsattribut ist für Formulare nicht erforderlich. Wenn nicht gesetzt - wird es auf die aktuelle URL gepostet – ymakux

3

Haben Sie ein anderes HTML-Element mit der ID "komentar" an anderer Stelle auf der Seite?

+1

Ich arbeite in Django und ich hatte eine Eingabe mit der gleichen ID in meiner Base.html (eine Vorlage für alle Seiten). Deine Antwort hat mich wirklich gerettet. – nima

0

versuchen

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

das Entfernen. nach der Warnmeldung so heißt es;

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