2011-06-28 9 views
1

入力を特定のテキストのスタイルを変更してファイルメーカーサーバーに送信しようとしています。 IEでは素晴らしいですが、サファリではありません。入力の変更

<select name="NameStyleFontName" id="'.$recordID2.'" style="width:105px;" 
fontatt="font-family" classid="stagename" onchange="fontupdate(this.id, this.name, 
this.value, this.fontatt, this.classid)"> 

function fontupdate(id, name, value, att, cls) 
{ 
    $('#loadres').html('<img src="loading.gif" />'); 
    $.post('fontupdate.php', {id: id, name: name, value: value}) 

    $('.'+cls).css(att, value); //this is where it fails. 

    $('#loadres').html('<col />'); 
}; 

答えて

1

IE以外では動作しない可能性があります。

ほとんどのブラウザでは、DOMに任意の属性を追加することはできません。 jQueryを使用しているので、まだthis.fontattrの代わりに$(this).attr('fontattr')を使用して取得できるはずですが、最初にこれを行う方法を考え直すべきでしょう。

または、おそらくdata-*という属性を使用してみてください。属性はHTML5の機能で、これらの目的に使用されています。 http://html5doctor.com/html5-custom-data-attributes/

+0

関数fontupdate() \t { \t \tするvarクラス= $(この).ATTR( '相対')を参照してください。 \t \t \t \t var att = $(this).attr( 'fontatt'); \t \t \t \t $( '。' + class).css(att、this.value); \t \t \t}; \t $( '#NameStyleFontName')。(fontupdate)をクリックします。 –

+0

そういうこと? –

+0

いいえ、 '$(this.attr( 'fontatt')'は 'onchange'の' fontupdate'のパラメータとして渡す必要があります。単に 'fontupdate'関数の定義を変更して要素を受け入れることもできます。あなたの関数本体で '$(el).attr( 'fontatt')'を使用することができます。 –

関連する問題