2012-04-10 7 views
0

Ich versuche, eine einfache Jquery-Eingabe-Wasserzeichenfunktion zu erstellen. Wenn das Eingabefeld keinen Wert hat, zeigen Sie dessen Titel an.Verwenden von jQuery zum Anzeigen der Eingabe TITLE als VALUE (jsfiddle enthalten)

Ich habe die jQuery gefunden, die notwendig ist, um den Wert des Inputs wie seinen Titel zu vergeben, aber es wird nicht auf der Seite angezeigt, als wäre es ein Wert, der manuell in das Formular kodiert wurde.

Wie kann ich dies erhalten, um den Wert anzuzeigen, wenn die Seite in das Eingabefeld für den Benutzer lädt, zu sehen?

Hier ist die Geige: http://jsfiddle.net/mQ3sX/2/

$(document).ready(function() { 

    $(".wmk").each(function(){ 
     var value = $(this).val(); 
     var title = $(this).attr("title"); 

     if (value == '') { 
     value = title; 
     } 

     $(".result").text(value); 
     // You can see I can get something else to display the value, but it does 
     // not display in the actual input field.    
    }); 

}); 
+0

Auch wenn ther Es ist ein Link zur Geige, Sie sollten den entsprechenden Code in Ihre Frage einfügen. –

Antwort

1

die folgenden Codezeilen verwenden. Sie müssen das Eingabeelement angeben und dessen Wert aktualisieren. Da Ihr Eingabefeld eine Klasse namens ".wmk" hat, verwende ich den folgenden Code. Sie können "ID" verwenden und "#" anstelle von "." Verwenden. Lesen Sie mehr über Selektoren bei http://api.jquery.com/category/selectors/

$(".wmk").val(value); 

jsfiddle Aktualisiert http://jsfiddle.net/bhatlx/mQ3sX/9/

Update: da Sie verwenden 'jeweils' auf '.wmk', können Sie Ihre eigene

$(this).val(value) 
+0

Funktioniert wie ein Charme! Ich danke dir sehr. – JROB

+0

Ich habe den Code für die Verwendung von '$ (this)' aktualisiert, da Sie Eingabeelemente mit der Klasse '.wmk' durchlaufen. – DG3

+0

Danke, das habe ich. :) – JROB

2

Statt Schreiben verwenden können , haben Sie eine Fertigbackversion in Betracht gezogen? Es ist nicht genau das, wonach Sie gefragt haben, aber diese verfügen über zusätzliche Funktionen, die Ihnen gefallen könnten (z. B. wie ein normaler Platzhalter, der den Platzhalter automatisch ausblendet, wenn Sie mit der Eingabe beginnen).

http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html http://archive.plugins.jquery.com/project/input-placeholder

+0

Scheint wie jeder, den ich gefunden habe sagen, dass sie nicht in allen Browsern funktionieren. – JROB

+0

Normalerweise sagen sie, dass das Platzhalterattribut HTML5 nur in einigen Browsern funktioniert. Der erste Link trägt diese Einschränkung, aber die jQuery-Lösung funktioniert in allen Browsern. – ramblinjan

+0

Praktisch die einzigen browserspezifischen jQuery-Plugins tragen diese Bezeichnung, weil sie Funktionalität ermöglichen, die ein Browser nicht hat, nicht weil sie in manchen Browsern nicht funktionieren. – ramblinjan

0

Ich denke, was Sie wollen, ist dies:

$(document).ready(function() { 

    $(".wmk").each(function(){ 
    var value = $(this).val(); 
    var title = $(this).attr("title"); 

    if (value == '') { 
     $(this).val(title); 
    } 

    $(".result").text(value); 

    }); 

}); 
0

Sie wie unten etwas wollen auch sein mag,

DEMO

$(document).ready(function() { 

    $(".wmk").each (function() { 
     if (this.value == '') this.value = this.title; 
    }); 

    $(".wmk").focus(
     function() { 
      if (this.value == this.title) this.value = ''; 
     } 
    ).blur(
     function() { 
      if (this.value == '') this.value = this.title; 
     } 
    ); 

}); // end doc ready