Value just contiues (commaseparated?)

Discussion in 'ASP General' started by jodleren, Nov 13, 2009.

  1. jodleren

    jodleren Guest

    Hi all

    In a form, I have some hidden values, which once set stays forever.
    There is an ignore option, and I keep it, as it might be needed later.
    If is default false (<>"true"), that works well.
    Just before </from> I set the value.
    In 2 places, there is a small script, which can set the value to true.
    But the problem is, that it just "grows", second time it is not
    "false" but "false, false", and it just gets longer.

    Why?

    WBR
    Sonnich

    Code:

    response.write request("ignore_mf") & "<br>"
    bIgnoreMissing=safe_str(request.form("ignore_mf")) = "true"
    request.form("ignore_mf")="" ' does not help
    request.form("ZipError")=""
    response.write "bIgnoreMissing= " & cstr(bIgnoreMissing) & "<br>"

    ......
    <form...><%
    if bIgnoreMissing then
    %><input type="hidden" name="ignore_mf" value="true"><%
    else
    %><input type="hidden" name="ignore_mf" value="false"><%
    end if
     
    jodleren, Nov 13, 2009
    #1
    1. Advertisements

  2. jodleren

    jodleren Guest

    And this does not set it?

    <input type="submit" name="Submit" value="Continue anyway"
    class="button2"
    onClick="document.forms[0].elements
    ['ignore_mf'].value='true';">

    It is java, so it does not belong here. But I guess the problem is
    related to my commaseparated text?

    WBR
    Sonnich
     
    jodleren, Nov 13, 2009
    #2
    1. Advertisements

  3. jodleren

    Evertjan. Guest

    jodleren wrote on 13 nov 2009 in microsoft.public.inetserver.asp.general:


    Why not the far more readable:

    <%
    if safe_str(request.form("ignore_mf")) = "true" then
    bIgnoreMissing = "true"
    else
    bIgnoreMissing = "false"
    end if
    %>

    <input type='hidden' name='ignore_mf' value='<% = bIgnoreMissing %>'>
     
    Evertjan., Nov 13, 2009
    #3
  4. jodleren

    jodleren Guest

    Well, that did not explain my problem :)
     
    jodleren, Nov 16, 2009
    #4
  5. jodleren

    Evertjan. Guest

    jodleren wrote on 16 nov 2009 in
    microsoft.public.inetserver.asp.general:
    It was not ment to do.

    Which shows that a usenet NG is not a paid helpdask.

    However I urge you to pay[ ;-) ] attention,
    as readable programming surfaces otherways obscure errors.
     
    Evertjan., Nov 16, 2009
    #5
  6. jodleren

    Dan Guest


    Can you post the code without snipping? I'm guessing that the cause of the
    problem has been snipped out.

    If you keep getting values appended like that, then it's normally caused by
    having 2 fields of the same name, each with one of the values. So, for
    instance, you have the code above which writes out a hidden field called
    ignore_mf and sets it to either true or false, which is fine. But if you
    have another hidden field called ignore_mf in the same form, which just has
    the value from request.form written into it (maybe you have this for
    debugging or testing), then the browser will send both hidden fields, and
    the result is the values appended to each other with a comma between them
    (because that's how ASP stuffs multiple fields with the same name into a
    single value).

    I'd suggest you view the source of your form, and look for any duplicated
    ignore_mf fields. If you have multiple forms on one page, make sure you have
    closed each correctly. Maybe you have more than one form, each has an
    ignore_mf field, and because you've omitted a </form> tag they're being
    treated as one form (or you've made a HTML error that causes the </form> to
    be ignored because it's in the wrong place - use a HTML validator to check
    for this).
     
    Dan, Nov 16, 2009
    #6
    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.