Results 1 to 4 of 4

Thread: href mit rowid im Popup

  1. #1
    Join Date
    Nov 2011
    Location
    Germany Hamburg
    Posts
    215

    Default href mit rowid im Popup

    Hallo,

    im Englichem Forum Ajax komme ich nicht weiter.. vielleicht liegt es ja an meiner eingeschränkten englichkenntniss.

    Ich benutzt die Demo des CustomerPopup.asp. Auf der Popupseite möchte ich ein neues Formular öffnen und dabei die RowId übergeben.
    Mit einen StandartReport geht das auch. Das Problem ist, daß aus dem Popup immer die RowId des ersten Datensatzes
    der voriegen "customer_lookup" übergeben wird. ich benutze dazu:

    <a href="Formular.asp?RowId=<%=oCustomer.ddvalue("Cus tomer.rowid")%>" target="_blank" >MyLink</a>

    auch das: <input type="hidden" name="customer__rowid" value="<%=Request("RowId") %>" /> hilft nicht.

    Das gilt für den gesamten Datenbuffer also für alle Felder. Die sind zwar auf dem Schirm lassen sich aber anscheinend
    auf einfachem Wege nicht übergeben !?

    Wenn ich das richtig verstehe wird der Wert auch nur einmal, beim Aufruf der asp-Seite gesetzt.
    Ich habe auch schon versucht das über Java zu lösen aber das ansprechen der Function im *.wo will nicht gelingen.
    Kann da jemend einen Tipp zu abgeben was geht und was nicht - und wenn wie ?!

    Ralf

  2. #2
    Join Date
    Apr 2009
    Location
    Basel / Zürich
    Posts
    25

    Default Re: href mit rowid im Popup

    Hallo Ralf

    "Wenn ich das richtig verstehe wird der Wert auch nur einmal, beim Aufruf der asp-Seite gesetzt. "

    - Das ist richtig, ASP wird auf dem Server ausgewertet BEVOR das file an den Client-Browser gesendet wird. D.h. alle "dynamischen asp inhalte" werden durch statische "html texte" ersetzt und können nur durch neuladen der seite aktualisiert werden (KEIN AJAX).

    Lösen musst du das Problem entweder in dem du den Link mit JavaScript änderst oder anstelle von der Record RowID mitzugeben Serverseitig speicherst.

    1. Serverseitig speichern
    Manchmal lohnt es sich die "Session" mit einem Zusätzlichen Feld zu versehen, da könntest du zum beispiel ein Feld haben wie "CustomerIdent". Wenn nun ein User einen Customer anwählt und findet kannst du einen Eindeutigen index des Customers in die Session speichern. Somit weisst du immer welchen Customer sich eine bestimme "Session" als letztes angesehen hat, und kannst beim laden deiner neuen seite die information zum laden von der Session holen.

    2. JavaScript - Ansatz
    Ich würde das generell so lösen, dass du über ein feld der datenbank gehst (nicht unbedingt RowId).
    z.B. das feld mit id anhängen dass einen eindeutigen index hat:
    <input type="hidden" name="customer__number" id="customer__number" />
    Code:
    <a href="javascript: jsOpenFormular()" >MyLink</a>
    
    <script type="text/javascript">
    
    function jsOpenFormular(){
        customer_number = document.getElementById('customer__number').value()
       url = "Formular.asp?customer_number=" + customer_number;
    
        fenster = window.open(url, "Popupfenster", "width=400,height=300,resizable=yes");  
        fenster.focus();  
        return false;
    }
    
    </script>
    Code ist nicht getestet, kann schreibfehler enthalten ^^ sollte im prinzip aber funktionieren, habe ich so ähnlich auch verwendet.

  3. #3
    Join Date
    Nov 2011
    Location
    Germany Hamburg
    Posts
    215

    Default Re: href mit rowid im Popup

    Hallo und erstmal vielen Dank dass doch jemand antwortet.

    Das Javascript will nicht laufen:

    customer_number = document.getElementById('customer__number').value( )
    dieser Teil will nicht laufen. Alles andere geht.

    Ralf

  4. #4
    Join Date
    Feb 2009
    Location
    The Netherlands
    Posts
    4,674

    Default Re: href mit rowid im Popup

    Hi Ralf,

    DOM elements have a value property (not a function), it should be:
    Code:
    customer_number = document.getElementById('customer__number').value;
    It might be that you are confusing it with the getValue function of the AJAX Library:
    Code:
    customer_number = vdf.getForm("myform").getDEO("customer__number").getValue();
    ps. Sorry for using English, I do read German, but writing is a completely different thing...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •