2012-05-16 3 views
0

Y a-t-il un moyen d'ajouter un texte au champ de saisie?Texte d'ajout au champ de saisie

permet donc dire au lieu de:

<input type="text" id="val" name="val" value="http://" style="width: 140px;" /> 

avec « http:// » déjà écrit, ont un « http:// » ajouté automatiquement lorsque quelqu'un tape une adresse, et si quelqu'un tape URL complète « http://www.****.com » http ne devrait pas être ajouté afin qu'il ne soit pas doublé.

Quelqu'un a des idées? Je ne peux pas utiliser php.

Répondre

0

Pourquoi ne pas simplement ajouter le http:// s'il manque?

var input = document.getElementById('val').value; 

if (input.search('http://') === -1) { 
    input = 'http://' + input; 
} 

modifier: si vous devez autoriser https aussi, changer la recherche d'une expression régulière:

if (input.search(/https?:\/\//) === -1) { 

http://jsfiddle.net/jbabey/Bt67X/

+0

Super choses, exactement ce dont j'avais besoin avec peu de changement. Merci beaucoup! – user1100099

+0

Grande réponse car c'est que je suis deuxième cependant. Et si je voulais mettre https là-dedans? – user1100099

+0

@ user1100099 voir ma modification. – jbabey

0

Append:

document.getElementById('val').value += "http://www.google.co.uk";

Remove Duplicate: `

document.getElementById('val').value.replace("http://http://","http://");

De cette façon, si elles ont le type http:// deux fois, il serait tout simplement remo ve le.

+0

Vos chaînes d'ID 'document.getElementById' doivent avoir des guillemets fermants. –

+0

il signifie preappending. – OptimusCrime

+0

Correction - Merci. – vimist

0

Je suggère fortement d'utiliser un cadre de script, par exemple jQuery (http://jquery.com) pour accéder au champ de saisie.

Voir ici: http://jsfiddle.net/5BLrU/

Voici le code JS pour référence

$(function() { 
    $("#some-form").submit(function(){ 
     var $val = $("#val"); 
     var url = $val.val(); 
     if (!/^http:\/\/.+/.test(url)) { 
      $val.val("http://" + url); 
     } 
     // remove this to submit the form! 
     return false; 
    }); 
}); 
0

L'exemple suivant suppose l'ID de l'élément cible est val.

// Store current element 
var elem = document.getElementById('val'), 
    // Store current value 
    currentValue = elem.value; 

// Prepend something if not present 
if (currentValue.match(/^http:\/\//) == false) { 
    currentValue = 'http://' + currentValue; 
} 

// Re-assign 
elem.value = currentValue; 
Questions connexes