Total beginner needs help with IF Else

simp's Avatar, Join Date: May 2009
Newbie Member
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
SaswatPadhi's Avatar, Join Date: May 2009
~ Б0ЯИ Τ0 С0δЭ ~
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 !
0
simp's Avatar, Join Date: May 2009
Newbie Member
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?
0
simp's Avatar, Join Date: May 2009
Newbie Member
Ah I see it now , I needed the {} for the function as well as the actions in the IF statement
0
SaswatPadhi's Avatar, Join Date: May 2009
~ Б0ЯИ Τ0 С0δЭ ~
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.