What am I doing wrong here. Simple statement. Novice Question.

Discussion in 'Javascript' started by Paul, Jul 23, 2005.

  1. Paul

    Paul Guest

    HI! I get an error with this code.

    <SCRIPT language="JavaScript">
    If (ifp==""){
    ifp="default.htm"}
    //--></SCRIPT>

    Basicly I want my iframe to have a default page if the user enters in
    directly. so I need a way doing this. so I check to see if the ifp value is
    null and if so then assign it a value. is this correct?


    Thanks in advance :)

    Paul
     
    Paul, Jul 23, 2005
    #1
    1. Advertisements

  2. Paul

    Joe Fawcett Guest

    As you don't state the error I may wrong but if, as I expect, it is "object
    expected" then it's because you have a capital "I" in "If" which should be
    lowercase:

    if (ifp == "")
    {
    ifp = "default.htm";
    }

    In general all JavaScript keywords start with lowercase letters, built-in
    objects such as "String" are one such exception, and usually if two or more
    words are concatenated all but the first have an uppercase first letter, e.g
    "toLowerCase". An exception to this are the operators such as "typeof".
    --
    As a side point, although in this instance the syntax is the same, Java and
    JavaScript are two different beasts and I suggest restricting your choice of
    groups to the relevant ones.

    Joe (MVP)

    https://mvp.support.microsoft.com/profile=8AA9D5F5-E1C2-44C7-BCE8-8741D22D17A5
     
    Joe Fawcett, Jul 23, 2005
    #2
    1. Advertisements

  3. Paul

    ASM Guest

    if(!(parent.frames['myIframe'])
    self.location="http//server.name/site.name/folder/default.html";

    if main page doesn't have an iframe (or frame) nammed "myIframe"
    then
    load in same window the file 'default.htm'
    whom path is "http//server.name/site.name/folder/"

    or :
    if(!(parent.frames['myIframe'])
    top.location="http//server.name/site.name/folder/default.html";

    if parent page doesn't have an iframe (or frame) nammed "myIframe"
    then
    load in main window the file 'default.htm'
    whom path is "http//server.name/site.name/folder/"
    from where comes ifp (how does it get ist value) ?
    what do you do with this value (after correction or not) ?
     
    ASM, Jul 23, 2005
    #3
  4. Paul

    ASM Guest

    if(!(parent.frames['myIframe']))
     
    ASM, Jul 23, 2005
    #4
  5. Paul

    Paul Guest

    Hi! and thanks for responding. basically I have a menu with sub-menu options
    which are htm file to go into an iframe.
    I need it to be so I can do this from any page in my site. this is why I
    need a script to pass the value.

    In my menu I use the following code to send the sub-menu options.

    Sub-menu option 1: ( code below )
    MainIframepage.asp?ifp=Template_Code_Files/file1_for_iframes.htm

    Sub-menu option 2: ( code below )
    MainIframepage.asp?ifp=Template_Code_Files/file2_for_iframe.htm

    Now for the MainIframepage.asp file I created the following Iframe like
    this---and it works fine.

    <iframe src="<%=Request.QueryString("ifp")%>" name="Iframe001" width="750px"
    height="920px" scrolling="yes" id="Iframe001">If you are reading this then
    your browser cannot view Iframe, Please upgrade you browser. </iframe>

    Now the problem is for me is what happens if someone enters the page without
    clicking an sub-option. ( Like for instance, coming from a bookmark OR if
    the session times out.) he will get an empty Iframe.

    That's what I need the default value for. :) How can I accomplish this?

    Paul



     
    Paul, Jul 23, 2005
    #5
  6. <snip>

    The algorithm for the type-converting comparison operator - == - (ECMA
    262 3rd edition; section 11.9.3) does not allow any string value
    (including the empty string) to equal null. So whatever you are
    attempting you are not seeing if ifp is null.

    Richard.
     
    Richard Cornford, Jul 23, 2005
    #6
  7. Paul

    Paul Guest

    HI! thanks, I saw that little one after I posted it. but there is still a
    problem. and the other post answered that one.

    Do you know of another way to do it. ( other than converting the string and
    then back again )?

    Thanks in advance :)

    Paul
     
    Paul, Jul 23, 2005
    #7
  8. Paul

    ASM Guest

    sub-menu by options from a select ?
    because if it is by JS, basicaly,
    the main menu must send a page with sub-menus linked in it
    and ? where is the problem ? it is basic html ...

    <form action="MainIframepage.asp" target="Iframe001" method="get">
    <select name="ifp">
    <option selected="selected"
    value="Template_Code_Files/default_menu.htm">Main Menu</option>
    <option
    value="Template_Code_Files/file1_for_iframe.htm">sub-menu 1</option>
    <option
    value="Template_Code_Files/file2_for_iframe.htm">sub-menu 2</option>
    </select>
    <input type="submit" value="GO">
    Sorry I am not to your orders !
    If you want I pay a visit to your site
    please give me a page I can read !
    That't to say insert betwen tags of iframe a link to the plan of site
    with links in basic html sending in self window.
    Your way of doing is a real expression of incorrection and unpoliteness

    Do not understand :
    - the link is on the page (even in an option of select)
    - the mechanism of send is in the browser
    If there is a question of time spent on site it is the job of your asp :
    time out or time unexisting ? hop ! go to page default
    and ... I know anything about asp.

    your [Request.QueryString("ifp")] has to enquiry if 'ifp' exists
    if not : hop -> default page
    if it is : hop ! what is write in url (remenber : target="Iframe001")

    as I know anything in asp
    I would have given the default page to the src of iframe
    <iframe src="default.htm" name="Iframe001" width="750px" blah>
    Activing menu will send a page to the iframe with variable ifp to obey

    The querry about ifp and its different answeres would have to be in your
    "MainIframepage.asp"

    Is there not a ng for asp ?
     
    ASM, Jul 23, 2005
    #8
  9. Paul

    Paul Guest

    Hi! Thanks for responding.

    I wanted to use JS for ASP. I am a beginner in JS and ASP. I can here
    because I needed to know JS.

    I have narrowed it down bit more as I have being reading all day but I am
    still of coarse shaky, so please bare with me.

    Here's where I am at now. I am testing this page.. and please tell me where
    I am going wrong.
    If you view this page the var ifp gets written out on screen ( so its not
    empty ) but it does not work in the Request.Query and I don't know why.
    this is really puzzling me. I have being at this all day. I know its a
    string as Its being displayed on screen. and Request.QueryString works when
    I pass the value from another page. why does it not accept the value that I
    have declared?

    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
    <html>
    <head>
    <title>Test Page</title>
    <script language="JavaScript">
    var
    ifp="http://www.webcandesign.com/Without...ttp://office.microsoft.com/en-us/default.aspx";
    if (typeof(ifp) == "undefined"){
    document.write ("Type of x is undefined");}
    else{
    document.write (ifp);}
    </script>
    </head>
    </html>
    <body>
    <iframe src="<%=Request.QueryString("ifp")%>" name="Iframe001"
    width="750px" height="920px" scrolling="yes" id="Iframe001">If you are
    reading this then your browser cannot view Iframe, Please upgrade you
    browser. </iframe>
    </body>
    </html>


    Ps. I hope I did not come off being rude before by using Capitals letters, I
    sometimes use it to point out things so that it does not get overlooked. I
    will try to keep away from using that method :)

    Paul





     
    Paul, Jul 24, 2005
    #9
  10. Paul

    Paul Guest

    Sorry about the above.. I made a small copy error.

    <%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
    <html>
    <head>
    <title>Test Page</title>
    <script language="JavaScript">
    var
    ifp="http://office.microsoft.com/en-us/default.aspx";
    if (typeof(ifp) == "undefined"){
    document.write ("Type of x is undefined");}
    else{
    document.write (ifp);}
    </script>
    </head>
    </html>
    <body>
    <iframe src="<%=Request.QueryString("ifp")%>" name="Iframe001"
    width="750px" height="920px" scrolling="yes" id="Iframe001">If you are
    reading this then your browser cannot view Iframe, Please upgrade you
    browser. </iframe>
    </body>
    </html>


    --
    Thanks in advance :)

    Paul
     
    Paul, Jul 24, 2005
    #10
  11. Paul

    ASM Guest

    You can read posts to learn some JS
    but, on my idea, you don't need it in this case.

    what do you expect the Request.QueryString("ifp")
    would do in src of iframe ? ==> nothing !

    What asp documentation teach to you on this ?
    <http://msdn.microsoft.com/library/d...html/3c778166-4a3c-4eda-b7cd-bb8557fe2de0.asp>
    <http://authors.aspalliance.com/aspxtreme/sys/web/httprequestclassquerystring.aspx>
    <http://docs.sun.com/source/817-2514-10/Ch9_ASPBuiltIn44.html>
    <http://docs.sun.com/source/817-2514-10/Ch9_ASPBuiltIn45.html>
    <http://www.serverwatch.com/tutorials/article.php/2174391>


    did you try what I did give ?
    (the menu in select of form with the associate iframe ?)

    Last explanations :
    In your home page the iframe has in its src a default page
    Then you choice a menu (or not) and press button [GO]
    the form calls your page.asp
    completed automaticly with ?ifp=page_of_menu.htm
    and page.asp will be send (after calculs on server) to the iframe

    the Query.String must be in your page.asp

    this page.asp could look like :

    <html>
    <body>
    <table>
    <tr>
    <th>Elément</th>
    <th>Valeur</th>
    </tr>
    <%
    For Each chaine In Request.QueryString

    If Request.QueryString(chaine).Count > 1 Then

    For index = 1 To Request.QueryString(chaine).Count

    Response.Write "<tr><td><u>" & chaine & "(" & index _
    & ") </u></td><td><b>" _
    & Request.QueryString(chaine)(index) _
    & "</b></td></tr>"

    Next

    Else

    Response.Write "<tr><td><u>" & chaine _
    & "</u></td><td><b>" _
    & Request.QueryString(chaine) _
    & "</b></td></tr>"

    End If

    Next
    %>
    </table>
    </body>
    your are wrong in the use of Querry.String
    that smells asp language no ?
    no :
    if you give (by code, script) a value to ifp or foo
    and then, if you ask to write ifp or foo
    ifp or foo will be written ... of course !

    what matter is that about Querry.String ?

    English is not my maternal language but in most of computer languages
    if you speak a little english you understand what they talk.

    Querry = search, catch
    String = termes, words, equality ... a group of caracteres

    Where does Query.String works ?
    on the url of the document where the querry does its job.
    What is its job : to extract informations joined to the url
    sawn nothing in this maner

    exceptionaly I leave the copy of precedent post
    that you can refere to it

     
    ASM, Jul 24, 2005
    #11
  12. Paul

    ASM Guest

    no importance : answer is same as precedente

    Learn use of Querry.String
     
    ASM, Jul 24, 2005
    #12
  13. Paul

    Paul Guest

    HI! Thanks allot for all your info. I will look into the Request.QueryString
    for closely. its a little hard for me now, I new to it. but I will read on.

    Once again, Thanks you :)

    Paul


     
    Paul, Jul 24, 2005
    #13
  14. Paul

    Joe Fawcett Guest

    I'm not sure, if you want to test for null or empty string the have:
    if (!ifp)
    {
    //ifp is null or empty
    }
     
    Joe Fawcett, Jul 24, 2005
    #14
  15. Paul

    akarl Guest

    comp.lang.javascript
     
    akarl, Aug 9, 2005
    #15
  16. Paul

    Trevor L. Guest

    Hmm!

    There have been a few posts on this topic (or related), including some I
    have taken part in

    One spelt out the different between:
    a null string, tested by 'if (string == null)'
    an empty string, tested by 'if (string == "")'
    and
    a string comprising a space, tested by 'if (string == " ")'

    Your test is for an empty string. Is this what it should be?

    You are testing if (ifp == ..). I have not used iframes, so I don't know
    whether this is the correct thing to be testing. Others may answer this.

    With frames, I use this code
    if (parent.location.href == window.location.href)
    parent.location.href = "index.html"

    I would need to experiment to see what works with iframes. (Maybe I should,
    to add to my knowledge !)
     
    Trevor L., Aug 9, 2005
    #16
  17. Paul

    Jayme Pechan Guest

    Try:

    <SCRIPT language="JavaScript">
    if (ifp=="")
    {
    ifp="default.htm";
    }
    </SCRIPT>
     
    Jayme Pechan, Aug 31, 2005
    #17
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.