开发者

Javascript displaying a div

I am hoping you guys can help me with this. I have the following code

  </textarea>
    <br />Word Count: <input type="text" name="c" value="311" size="5" onkeyup="cnt(document.script.w,this)" />
    </form>

    <script type="text/javascript">
    var myNumValue = document.getElementById('c').value;
    var myNum = parseInt(myNumValue);
    var upperLimit=200;
    var lowerLimit=10;

    if(upperLimit == lowerLimit)
       {
 document.getElementById('div1').style.visibility='visible';
       }
    </script>

    &l开发者_StackOverflowt;div id="div1" style="visibility: hidden;">
    Super cool hidden div!
    </div>

For some reason, I cannot get the div to show. I have tried setting the upper and lower the same and using == in if, anything inside of the if displays (for example if a do a document.write it will show up) but for some reason the div will not show.

What am I missing?

Thanks!

Kevin


Your first problem is that the input has no id so, as Sarfraz says, document.getElementById('c') will error.

That is not the only critical problem though.

Your script is not in a function, so it will run as soon as it is parsed.

The div element appears in the document after the script element, so the browser doesn't know it exists at the time the script runs.

document.getElementById('div1') will therefore error.

Either move the script element to after the div element, or wrap it in a function and delay execution until an event that will fire after the element exists (such as onload (standard) or ondomready (provided by many JS libraries).


You have not specified id attribute for your field:

<input type="text" name="c" value="311" size="5" onkeyup="cnt(document.script.w,this)" />

Should be:

<input type="text" name="c" id="c" value="311" size="5" onkeyup="cnt(document.script.w,this)" />

Because you are missing the id there, you are most likely getting an error and your script halts in the middle; a reason why your code does not reach that if condition.


Did you forget to close your <script> tag or did you just not cut/paste it?

The line

if(upperLimit == lowerLimit)

is never true; you just defined upperLimit to be not equal to lowerLimit.


Please try this

document.getElementById('div1').style.display = 'block';


u have not created object of div1 first create object.

<div id="div1" style="visibility: hidden;"> 
  Super cool hidden div!
</div>
<script type="text/javascript">
var myNumValue = document.getElementById('c').value;
var myNum = parseInt(myNumValue);
var upperLimit=200;
var lowerLimit=200;

if(upperLimit == lowerLimit)
{
    document.getElementById('div1').style.visibility='visible';
}
</script>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜