2012-10-08 3 views
0

Je suis frappais ma tête pendant un certain temps maintenant ...Stück appeler une fonction onclick

medReviewCtrl = "<form name=\"medsreviewedform\"> \ 
    <input type=\"button\" class=\"medsreviewedclass\" name=\"medsreviewedname\" \ 
    id=\"medsreviewedid\" value=\"7 minutes ago\" onclick=\"ChangeButtonText(this)\" \ 
    </form>"; 

function ChangeButtonText(button){ 
    document.getElementById("medsreviewedid").value="Value has changed"; 
}​ 

Je dispose d'un fichier js où je crée un dynammic div dont ce bouton fait partie de celui-ci. Le bouton s'affiche correctement et lorsque j'essaie d'appeler cette fonction, j'obtiens Object Expected. Si je le fais comme ça, ça marche;

onclick=\"this.value=this.value==this.defaultValue?'Less than a minute ago':this.defaultValue;\" />"; 

L'objectif ultime de la valeur par défaut est dérivée d'une valeur de temps (il y a 1 semaine) et se onclick écrire à une valeur à la base de données et la valeur des boutons sera quelque chose comme il y a moins d'une minute. J'ai tout le reste mais je n'arrive pas à comprendre comment changer la valeur.

J'ai essayé le code est jsFiddle et cela fonctionne mais pas dans mon exemple. http://jsfiddle.net/hPQP9/61/

Toute aide appréciée!

+0

Lien de partage vers l'exemple jsFiddle. – WTK

+0

Je ne sais pas pourquoi vous avez backslash avant "il n'y a pas besoin de cela et il peut causer quelques problèmes ... – gabrjan

+0

Pourriez-vous s'il vous plaît fournir le lien à jsFiddle? –

Répondre

0

Essayez, je préfère utiliser une citation unique pour le code html:

medReviewCtrl = '<form name="medsreviewedform"> \ 
<input type="button" class="medsreviewedclass" name="medsreviewedname" \ 
id="medsreviewedid" value="7 minutes ago" onclick="ChangeButtonText(this)"> \ 
</form>'; 
+0

Appréciez cela, mais il échoue toujours. – cbm64

0

Ok, intéressant; Javascript vs Jquery ...

$(function(){ 
    $("#medsreviewedid").click(function(){ 
     alert('hi'); 
    }); 
}); 

medReviewCtrl = '<form name="medsreviewedform"> \ 
    <input type="button" class="medsreviewedclass" name="medsreviewedname" \ 
    id="medsreviewedid" value="7 minutes ago"></form>'; 

Fonctionne bien!

Questions connexes