2009-08-31 9 views
0

このページでは、特定のロスタの学生に関する情報を入力するフォームがあります。各生徒は、ドロップダウンボックスとコメント欄があるテーブルに表示されます。各生徒に「別のボタンを追加」ボタンがあります。その場合、ユーザーが生徒に関する2番目のメモを入力したい場合は、そのボタンを押すことができます。しかしではないので、WindowsのFirefoxやIEで、Macのブラウザで完全にテーブル内のフォームフィールドを動的に追加しても、行の高さは変更されません

var counter=1; 
function multipleDemerits(studentID) { 
counter++; 
var anotherDemeritRow = "<select name='behavior_"+studentID+"_"+counter+"'><option value=0>Select --></option><option value=0></option><option value=0>1 demerit behaviors</option><option value=1>&nbsp;&nbsp;unprepared</option><option value=2>&nbsp;&nbsp;incomplete hw</option><option value=3>&nbsp;&nbsp;electronics/phone</option><option value=4>&nbsp;&nbsp;uniform</option><option value=5>&nbsp;&nbsp;talking/making noise</option><option value=0></option><option value=0>2 demerit behaviors</option><option value=6>&nbsp;&nbsp;tardy</option><option value=7>&nbsp;&nbsp;wasting time</option><option value=8>&nbsp;&nbsp;food/gum</option></select>&nbsp;&nbsp;Comments: <input name='comments_"+studentID+"_"+counter+"' type='text' size='30' maxlength='100'/><br />&nbsp;"; 
document.getElementById(studentID).innerHTML += anotherDemeritRow; 
} 

新しいドロップダウンとコメント欄の表示:ボタンをクリック

はこのjavascript関数を起動します。現行の表の行の高さは増加しないので、追加のフィールドは表の残りの行と重なり始める。私が全部欲しいものではありません。

Windowsのブラウザの専門家の意見はありますか?ありがとう!

更新:jQueryの追加に変更...違いはありません。しかし、関数の最初に警告文を追加すると、今は機能します。ハァッ!!?!

+0

あなたのデモリンクは不正アクセスエラーを与えているようだ... – Corey

+0

は感謝 – Jen

答えて

1

は、私はそれがFirefoxとIEでのいくつかのテーブルのレンダリングの問題を解決して、あなたが、「innerHTMLプロパティ」の代わりに「append()」を使うべきだと思います。

+0

このことを修正しました。 innerHTMLはテーブルとうまく対話できません。一般的な意味では避けるのがベストです。スタンドアロンのコンテナ(divなど)を作成し、innerHTMLを使用して構造を作成した後、divをテーブル/行に追加することができます。 – Glenn

0

テーブルの行をブロックにしてみてください。それは身長を固定するかもしれない。

windows firefoxはページの問題を報告しますか?

関連する問題