Total beginner needs help with IF Else

Newbie Member
12May2009,05:11   #1
simp's Avatar
Hi

I have only been playing with HTML/JS for a couple of days.

Please can someone tell me why the following statements do not work.

Thanks
HTML Code:
<html>

    <head>
    <title>My Website Page 2</title>
    <script type="text/javascript">
    function sendalert(x)        
    if (x=="Dave")
    {
    document.write("Yourname is Dave");
    }
    else
    {
    document.write("You're not Dave");
    }        
    </script>
    </head>

    <body>
    
    <form>
    <input type=text name="text" value="NAME">
        <input type=button value="click Me" name="send" onclick="sendalert(form.text.value)">
    </form>

    </body> 


</html>

Last edited by shabbir; 12May2009 at 09:24.. Reason: Code blocks
~ Б0ЯИ Τ0 С0δЭ ~
12May2009,07:38   #2
SaswatPadhi's Avatar
Haha
Your func def is not wrapped inside {}.

The working code (tested) is :
Code: html
<html>
      <head>
            <title>My Website Page 2</title>
            <script type="text/javascript">
                  function sendalert(x)
                  {
                        if (x=="Dave")
                              document.write("Yourname is Dave");
                        else
                              document.write("You're not Dave");
                  }
            </script>
      </head>
      <body>
            <form>
                  <input type=text name="text" value="NAME">
                  <input type=button value="click Me" name="send" onclick="sendalert(form.text.value)">
            </form>
      </body>
</html>
Just ignore the hyperlinks, they are automatically added for known tags.

PS : Take care of the following points :
(1) Please post your code inside [code] ... [/ code] (no space between / and code, i gave it to stop recognizing it as code-block)
(2) Please indent your code properly, so that it would be more readable and can be debugged easily. I think, if you had indented your code, you would have easily found the mistake.

Last edited by SaswatPadhi; 12May2009 at 07:45.. Reason: Some advice added !
Newbie Member
12May2009,21:52   #3
simp's Avatar
Many thanks for your response.

However I am a little confused now. I have been using the w3schools site to learn and that describes the IF THEN in the way I have coded it. Is the tutorial on their site wrong?
Newbie Member
13May2009,00:59   #4
simp's Avatar
Ah I see it now , I needed the {} for the function as well as the actions in the IF statement
~ Б0ЯИ Τ0 С0δЭ ~
13May2009,07:09   #5
SaswatPadhi's Avatar
You need to close the actions of the IF statement in {}, if they contain more than one instructions.

This is perfectly fine :
Code: java
if (x=="Dave")
      document.write("Yourname is Dave");
But, this :
Code: java
if (x=="Dave")
      document.write("Yourname is Dave");
      document.write("Welcome Dave !");
will not function as expected from the indentation of the code. It will function similar to :
Code: java
if (x=="Dave")
      document.write("Yourname is Dave");
document.write("Welcome Dave !");
So, ifor the correct functioning, you must close both statements within {}.
Code: java
if (x=="Dave")
{
      document.write("Yourname is Dave");
      document.write("Welcome Dave !");
}

I hope, you got it.