2012-04-27 17 views
3

私はいくつかのinput submitボタンがあるJSPページを持っています。今私はAJAX要求から得るいくつかの値に基づいて、私はdisplay and hiding of these input buttonsを制御したいです。だから私は入力ごとにspansを作成しました。そして、AJAXリクエストから受け取った変数値に基づいて、私はそこに表示プロパティを操作します。しかし、私は結果を正しく得ることができません。HTMLのスパンを非表示にして表示する

ここに私のコードです:

<td style="width: 600px"><span id="startspan"><input name="start" value="startActivity" type="submit" id="startbuttonid"></span></td> 
     <td style="width: 600px"><span id="holdspan"><input name="start" value="holdActivity" type="submit" id="holdbuttonid"></span></td> 
     <td style="width: 600px"><span id="cancelspan"><input name="start" value="cancelActivity" type="submit" id="cancelbuttonid"></span></td> 
     <td style="width: 600px"><span id="closespan"><input name="start" value="closeActivity" type="submit" id="closebuttonid"></span></td> 

と私はディスプレイ用のコードを書いたり、それらを隠しています私のjava scriptコードは::私は細かい受け付けており変数temp1[15]値に基づいて、ここで

if(temp1[15]=="InProcess"){ 
     document.getElementById('startspan').style.display='none'; 
     document.getElementById('holdspan').style.display = 'block'; 
     document.getElementById('cancelspan').style.display = 'block'; 
     document.getElementById('closespan').style.display = 'block'; 
    } 
    if(temp1[15]=="New"){ 
     document.getElementById('startspan').style.display='block'; 
     document.getElementById('holdspan').style.display = 'none'; 
     document.getElementById('cancelspan').style.display = 'block'; 
     document.getElementById('closespan').style.display = 'none'; 
    } 

です。これらの入力送信ボタンを表示または非表示にしたい。私は、スパンを定義するような、正しいやり方をしています。あるいは、修正が必要です。基本的には、これらの入力ボタンはすべてdialog box <div>の中にあり、内部で関数がトリガーされたときにのみ開くようになっています。助けが必要。ありがとう。

+0

私はここでJSFiddleを作成しましたが、すべてうまくいくようです:http://jsfiddle.net/uGvam/ – phantasm

答えて

1

CSSのdisplayプロパティは、ブロック(DIV、Pなど)、インライン要素(スパン、bなど)のように動作するかどうか、およびその可視性も決定します。あなたのスパンについては

は、あなたの代わりにこれをしたい:

document.getElementById('span').style.display = 'inline'; 

それはDIVだった場合は、blockを使用し、そしてそれはIMGだった場合は、inline-blockを使用します。

1

主なコードではなく、フィドルで作業しているので、DOMがロードされる前にコードが実行されている(またはdialog box <div>が生成されています)という問題が考えられます。あなたはAJAXを使っていると言います。ボタンを表示または非表示にするコードがAJAX successコールバックにあることを確認してください。

+0

あなたのコードをAJAXメソッドで見せることができれば助かります。 – AnalogWeapon

関連する問題