2010-06-07 49 views
6

jQuery val() didnt trabajo, este es el script sencillo:jQuery val() no funciona

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

     });*/ 

este es el formulario 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> 

En realidad, estaba intentado crear ajax publicación, el valor "nama" se envía pero no "komentar". Así que intenté depurar usando la alerta (como la anterior) y todavía "komentar" no cambia. ¿Que debería hacer?

+1

'alerta. (...)' tiene un punto extra aquí. – kennytm

+2

Con la excepción de '.' after alert, su código funciona: http://jsfiddle.net/HATSX/ –

+0

Bienvenido a SO ...: D – Reigel

Respuesta

2

Tiene algunos errores en su html. La forma debe tener el atributo "acción", también js no está bien.

Hice ejemplos de archivos html y js que funcionan correctamente. El archivo Html pasó la validación de w3.org y js pasó 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

El atributo de acción no es obligatorio para los formularios. Si no está configurado, se publicará en la URL actual – ymakux

3

¿Tiene otro elemento HTML con el id "komentar" en otro lugar de la página?

+1

Estoy trabajando en Django y tenía una entrada con el mismo ID en mi base.html (una plantilla para todas las páginas). Tu respuesta realmente me salvó. – nima

0

tratar

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

Retire el. después de la declaración de alerta para que se lea;

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