2009-09-30 6 views
0

je 2 exigences:href et onclick

  1. Il y a des messages et je dois naviguer dans ces messages sur l'onglet sur, par exemple, si je clique sur onglet le contrôle doit passer d'un message un autre et ainsi de suite, tous les messages devraient être des liens.

    Cela peut être fait en utilisant href.

  2. Si je clique sur ces messages, une fonction est appelée qui définit réellement le foyer pour le champ correspondant. comme si j'ai un champ de nom et si j'entre le numéro un message d'erreur vient et en cliquant sur ce message le contrôle va au champ correspondant.

i ajouté a href: javascript (fonction) dans la balise d'ancrage

cela fonctionne correctement dans IE7, mais cela ne fonctionne pas dans IE6 je reçois une nouvelle fenêtre ouverte avec la valeur true ou false. Si j'utilise onclick et supprime href cela fonctionne correctement dans IE6 mais la navigation ne se produit pas.

Y a-t-il une autre alternative où la navigation et onclick fonctionnent ou quelque chose d'autre doit être ajouté.

S'il vous plaît aidez-moi à ce sujet.

Merci d'avance.

Regds Viswa

+1

Le problème spécifique n'est pas très clair. Pouvez-vous nous montrer un exemple simplifié montrant ce que vous essayez d'accomplir? – Larsenal

+0

Dites par exemple: abc Si j'utilise un type de code similaire, la navigation passe par href et onclic le lien que la fonction appelle et la validation a lieu. Ce code similaire ne fonctionne pas dans ie6 et onclick doit être utilisé à la place de href. Je pense que ce sera clair maintenant par l'exemple donné ci-dessus. –

Répondre

2

Essayez retour false dans les liens attributs href, ou en utilisant un '#NULL'. En bout de ligne, vous ne devriez pas se débarrasser de la href pour les balises d'ancrage car ils ne seront plus navigable via la touche de tabulation:

<a href="javascript:return false" onclick="doSomething()">Foo</a> 

ou:

<a href="#null" onclick="doSomething()">Foo</a> 
1

Vous pouvez utiliser discret JS plutôt que ligne , alors vous avez juste besoin de l'href.

<a href="/foo" class="fooLink">Foo</a> 

La fonction dans un document prêt (En supposant que vous utilisez jQuery, peut être facilement changé Prototype ou js vanille)

$(".fooLink").click(function() { 
    doSomething(); 
    }); 
2

Vous pourriez envisager de ne pas utiliser l'aide d'une balise d'ancrage. Les balises d'ancrage doivent être réservées à la navigation.

Avez-vous pensé à la < étiquette > étiquette?

<label for="foo">This is Foo</label> 
<input type="text" id="foo" value="" /> 

Cliquer sur l'étiquette donnera le focus à l'entrée.

Questions connexes