2012-02-22 1 views
0

Я хочу очистить значение по умолчанию в двух полях ввода перед их отправкой. Но это не работает ...Устранение значения перед отправкой формы (не аннулирование отправки)

<form action="page.html" id="myForm"> 
    <input type="text" value="Firstname" name="firstname" id="firstname"> 
    <input type="text" value="Lastname" name="lastname" id="lastname"> 
    <input type="submit"> 
</form> 

<script> 
    $(document).ready(function() { 
     $("myForm").submit(function() { 
      if($('#firstname').val() == "Firstname") 
       $('#firstname').val() = ""; 

      if($('#lastname').val() == "Lastname") 
       $('#lastname').val() = ""; 

      return true;  
     }); 
    }); 
</script> 

Я не хочу, чтобы очистить их как в центре внимания. Я не могу использовать html5.

+0

Итак, вы хотите сосредоточиться на поле, а не на подаче? –

ответ

2

вал является функцией, вы не можете использовать его, как это. Попробуйте вместо этого:

$('#firstname').val(''); 
.... 
+0

Там еще одна опечатка, # знак не добавляется перед Myform – SachinGutte

+0

Изменено в 'code' Работы! Cheers –

+0

@soju - да, он есть комментарий! – SachinGutte

0

Вызов функции val с пустой строкой .val("");

$(document).ready(function() { 
    $("myForm").submit(function() { 
     if($('#firstname').val() == "Firstname") 
      $('#firstname').val(""); // <==== 

     if($('#lastname').val() == "Lastname") 
      $('#lastname').val(""); // <==== 

     return true;  
    }); 
}); 

val() с пустыми параметрами просто возвращает значение элемента.
Так что ваш код равен

if($('#lastname').val() == "Lastname") 
    'Lastname' = ""; // Won't change the element value. 
1

Ваш код неверен. Вы должны использовать знак # перед идентификатором. Так вот это

$(function() { 
    $("#myForm").submit(function(e) {  
    e.preventDefault(); 
     if($('#firstname').val() == "Firstname") 
      $('#firstname').val(""); 

     if($('#lastname').val() == "Lastname") 
      $('#lastname').val("");      
    }); 
}); 

Линия e.preventDefault(); остановит распространение событий, чтобы вы увидеть эффект. Вы можете удалить его.

Смежные вопросы