2010-09-16 3 views

Répondre

9

J'ai ajouté if($input.hasClass('ignore') == true) { return; } à la ligne 99 du plugin pour ignorer les champs de texte avec class = ignore. Peut-être que cela vous aidera.

+1

Merci Mattbee. Une addition brillante! :) – iltdev

3

Je confirme que la solution de mattbee a fonctionné pour moi dans le sens d'une réponse du membre posant la question. Conformément aux instructions, je collais le code sur la ligne 99, au-dessus de la ligne suivante:

if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;} 

Pour quelqu'un qu'il ne soit pas évident, collez le code CI-DESSUS ligne 99 plutôt que REMPLACER ligne 99 comme suit :

/*Custom code: Regarding class for elements exceptional to transformation.*/ 
/*Custom code: http://stackoverflow.com/questions/3727517/jqtransform-exclude-an-element-from-styling*/ 
if($input.hasClass('ignore') == true) { return; } 
if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;} 

Je ne vois pas une option pour commenter la réponse de mattbee donc je l'ai présenté sous la forme d'une réponse.

EDIT: Le code ci-dessus invite jqTransform à ignorer/exclure/ignorer/éviter les éléments d'entrée. Dans mon cas, je l'ai utilisé pour exclure type = "text" et type = "image". Cependant, l'application de la classe .ignore à mon élément textarea a en effet exclu la transformation indésirable mais, pour une raison quelconque, a en plus exclu la transformation de mes éléments select. Veuillez noter que la modification de jquery.jqtransfrom.js pour la zone de texte a été faite dans la fonction textarea en commençant à la ligne 201 du document original non édité plutôt que la fonction pour les champs de texte commençant à la ligne 95 dans le bloc de code ci-dessus.

Voici un exemple de ce que je tentais (placé CI-DESSUS ligne 207):

if($textarea.hasClass('ignore') == true) { return; } 

Réitérer, cela a fonctionné, mais aussi exclu la transformation de mes boîtes de sélection qui n'a pas été mon intention.

Après la recherche de solutions, je suis tombé sur le blog suivant: http://www.deliciouscoding.com/post.cfm?entry=use-jqtransform-and-tinymce-together

Essentiellement, la table qui jqTransform crée pour remplacer les éléments textarea est remplacé par un textarea dit, il dénoue ou plus simplement la transformation:

<!--Undo textarea transformation.--> 
<!--Source: http://www.deliciouscoding.com/post.cfm?entry=use-jqtransform-and-tinymce-together.--> 
<script language="javascript"> 
jQuery(function(){ 
jQuery("form.transform table").replaceWith('<textarea></textarea>'); 
}); 
</script> 

Pour les nouveaux utilisateurs de jQuery, le code ci-dessus doit être placé avec la tête de votre document (c'est-à-dire entre <head> et </head>).

1

Ou vous pouvez simplement ajouter jqtranformdone classe à votre entrée :)

3

il y a nouvelle bibliothèque que j'ai créé - csTransPie - basant sur jqtransform - jqtransform est une grande bibliothèque, mais il a vraiment beaucoup de problèmes, CSS3 aujourd'hui résout beaucoup de ces problèmes et j'aime l'idée des contrôles étant des contrôles normaux et en regardant la même dans tous les navigateurs

https://github.com/pkoretic/csTransPie

il est un travail en cours, mais il est encore mieux maintenant que jqtransform (plus de la moitié le code re écrit, de nombreux bugs résolus, css propre ...), vous devez l'admettre ...

Il suffit d'utiliser.transpie class sur l'élément que vous voulez!

-1

Je sais que c'est un sujet très ancien, mais je dois dire que c'est plus approprié si vous ajoutez une classe supplémentaire à votre forme normale, et qu'elle ne sera pas transformée. Pour les textes d'entrée et la zone de texte, ajoutez la classe 'jqtranformdone' et il retournera sans transformation. Pour les cases à cocher, les cases d'option et les sélections utilisent la classe 'jqTransformHidden'.

0

Voici ma version (version 1.1 06.08.09) pour ignorer les entrées: modifier ceci dans jquery.jqtransform.js en ligne 497

$('input:submit:not(.hidden), input:reset:not(.hidden), input[type="button"]:not(.hidden)', this).jqTransInputButton(); 
    $('input:text:not(.hidden), input:password:not(.hidden), input[type="email"]:not(.hidden)', this).jqTransInputText(); 
    $('input:checkbox:not(.hidden)', this).jqTransCheckBox(); 
    $('input:radio:not(.hidden)', this).jqTransRadio(); 
    $('textarea:not(.hidden)', this).jqTransTextarea(); 
    $('select:not(.hidden)', this).jqTransSelect() 
4

Utilisez la classe jqtransformdone. Il est construit dans le plugin.

+1

fonctionne, mais doit être écrit avec un «T» majuscule: 'jqTransformdone' – Rocco

0

Vous pouvez simplement ajouter la classe "jqtransformdone" à l'élément, vous voulez ignorer le style. Espérons que cela aidera quelqu'un d'autre.

+0

Cela a déjà été mentionné dans certaines des autres réponses. Veuillez vérifier que la réponse que vous souhaitez fournir n'est pas déjà présente avant de répondre. – Ren

Questions connexes