Avatar billede JenZen Novice
16. maj 2008 - 20:53 Der er 15 kommentarer og
1 løsning

loop af checkboxe

Jeg skal bruge et script det kan gøre flg.

Min nuværende ASP side kaster en række checkboxe ud med et unikt id.
Lad os eks. sige 3 stk.

CheckBox 1 [ID: 200]
CheckBox 2 [ID: 201]
CheckBox 3 [ID: 202]

Når der så vælges eks. checkbox 1 og 3 skal den sende 2 svar afsted til en anden asp side.

Dvs. først Reg.Asp?ID=200 og derefter Reg.Asp?ID=201
Disse må ikke sendes afsted samtidig... Hvis det giver mening, først den ene og så den anden, og tredie såfremt der måtte være flere selections.
Avatar billede softspot Forsker
16. maj 2008 - 20:58 #1
Hvorfor må de ikke sendes samtidig?
Avatar billede JenZen Novice
16. maj 2008 - 21:08 #2
Fordi den asp side de sendes til kan kun håndtere én request ad gangen. det er en pdf applet som er lidt speciel.
Avatar billede softspot Forsker
16. maj 2008 - 21:43 #3
Så er der nok brug for en AJAX-løsning.

Jeg vil i den forbindelse da gerne benytte lejligheden til at reklamere lidt for olebole's yderst lovende site (som allerede er tilføjet min linksamling ;-)) http://www.dengodekode.dk som omhandler god kodeskik og fede kodestumper med en seriøs forklaring til!

Nå, men nok om reklamen. På dette site kan du bla. finde noget om AJAX og der er bla denne wrapper som sætter lidt ældre IE-browsere i stand til at tilbyde XMLHttpRequest på samme måde som de nyere gør. Det ser således ud (der kan findes en beskrivelse til netop dette på http://www.dengodekode.dk/artikler/ajax/xmlhttprequest_wrapper.php):

<script type="text/javascript">
(function(){
    if (window.XMLHttpRequest) return;
    var o = null, s,
    a = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
    for (var i=0,j=a.length; i<j; i++) {
        s=a[i];
        try {
            if (o=new ActiveXObject(s))  break;
        }
        catch(e){};
    }
    window.XMLHttpRequest = o ? function(){return new ActiveXObject(s)} : null;
    o = null;
})();
</script>

Dette script skal ligge som det første script du inkluderer i din head-sektion af det dokument hvor det skal bruges. Derefter kan du lave din forretningslogik med følgende funktioner (igen nappet fra oleboles eksempler på ovenstående link og tilpasset en anelse):

<script type="text/javascript">
var checked = [];

function sendCheckbox(sQuery) {
    _oHttp = new XMLHttpRequest();
    _oHttp.open("post", "http://www.domain.dk/reg.asp", true);
    _oHttp.onreadystatechange = function(){ checkboxSent(_oHttp) };
    _oHttp.send(sQuery);
}

function checkboxSent(oHttp) {
    if (oHttp.readyState<4) return;

  // Fjern det første element i checked-listen
    checked.splice(0,1);

  // - og dræb derefter objektet
    oHttp = null;

    setTimeout("sendNaesteCheckbox()", 10);
}

function sendNaesteCheckbox() {
    if(checked.length != 0)
        sendCheckbox("id=" + checked[0]);
}

function initSendCheckbox() {
    var frm = document.getElementById("dinForm");
    if(frm) {
        for(var i = 0; i < frm.elements.length; i++) {
            if(frm.elements[i].name.substr(0,8) == "Checkbox") {
                checked[checked.length] = frm.elements[i].value;
            }
        }
    }
   
    sendNaesteCheckbox();

    return false;
}
</script>

<form id="dinForm" onsubmit="return sendFoersteCheckbox()">
  Checkbox 1: <input type="checkbox" name="Checkbox1" value="1"><br>
  Checkbox 2: <input type="checkbox" name="Checkbox2" value="2"><br>
  Checkbox 3: <input type="checkbox" name="Checkbox3" value="3"><br>
  Checkbox 4: <input type="checkbox" name="Checkbox4" value="4"><br>
  <input type="submit" value="send data">
</form>


Noget i den stil. Det er totalt utestet, så mon ikke der lige skal justeres lidt, men jeg håber da idéen er nogenlunde på plads... :)
Avatar billede JenZen Novice
16. maj 2008 - 22:07 #4
Sådan her får jeg så min asp side til at se ud, kan du give mig et hint om hvad der er galt ? For det du er ikke...

<script type="text/javascript">
(function(){
    if (window.XMLHttpRequest) return;
    var o = null, s,
    a = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
    for (var i=0,j=a.length; i<j; i++) {
        s=a[i];
        try {
            if (o=new ActiveXObject(s))  break;
        }
        catch(e){};
    }
    window.XMLHttpRequest = o ? function(){return new ActiveXObject(s)} : null;
    o = null;
})();
</script>
<script type="text/javascript">
var checked = [];

function sendCheckbox(sQuery) {
    _oHttp = new XMLHttpRequest();
    _oHttp.open("post", "displaycerfPDF.asp?ID=36351", true);
    _oHttp.onreadystatechange = function(){ checkboxSent(_oHttp) };
    _oHttp.send(sQuery);
}

function checkboxSent(oHttp) {
    if (oHttp.readyState<4) return;

  // Fjern det første element i checked-listen
    checked.splice(0,1);

  // - og dræb derefter objektet
    oHttp = null;

    setTimeout("sendNaesteCheckbox()", 10);
}

function sendNaesteCheckbox() {
    if(checked.length != 0)
        sendCheckbox("id=" + checked[0]);
}

function initSendCheckbox() {
    var frm = document.getElementById("dinForm");
    if(frm) {
        for(var i = 0; i < frm.elements.length; i++) {
            if(frm.elements[i].name.substr(0,8) == "Checkbox") {
                checked[checked.length] = frm.elements[i].value;
            }
        }
    }
   
    sendNaesteCheckbox();

    return false;
}
</script>

<!--#include file = "codelibrary.asp"-->
<%
Call PageTop()


'Sort field
QStrSF = Trim(Request.QueryString("sf"))
'Sort order
QStrSO = Trim(Request.QueryString("so"))

'From date
QStrFromDate = Trim(Request("fd"))

'To date
QStrToDate = Trim(Request("td"))

'Search date field
QStrDateField = Trim(Request("datefield"))

If QStrDateField <> "" Then
    If CStr(QStrDateField) = "DateFld" Then
        StrRadioDateFldChecked = "CHECKED"
    ElseIf CStr(QStrDateField) = "ExpireDateFld" Then
        StrRadioExpDateFldChecked = "CHECKED"
    End If
   
    If IsDate(QStrFromDate) AND IsDate(QStrToDate) Then
        StrWhere = QStrDateField & " >= '" & SQLDateFormated(CDate(QStrFromDate)) & "' AND " & QStrDateField & " <= '" & SQLDateFormated(CDate(QStrToDate)) & "'"
    End If
Else
    StrRadioDateFldChecked = "CHECKED"
End If

'Search customerno.
QStrCustNo = Trim(Request("custno"))

If QStrCustNo <> "" Then
    If StrWhere <> "" Then
        StrWhere = StrWhere & " AND "
    End If
    StrWhere = StrWhere & "RefCustNo like '%" & QStrCustNo & "%'"
End If

'Search certno.
QStrCertNo = Trim(Request("certno"))

If QStrCertNo <> "" Then
    StrWhere = "CertNo like '%" & QStrCertNo & "%'"
End If

'Search orderno.
QStrOrderNo = Trim(Request("orderno"))

If QStrOrderNo <> "" Then
    StrWhere = "DataFld50 like '%" & QStrOrderNo & "%'"
End If

'TBH 21.03.2007 Search OrderConcerning.
QStrOrderConcerning = Trim(Request("OrderConcerning"))

If QStrOrderConcerning <> "" Then
    StrWhere = "DataFld36 like '%" & QStrOrderConcerning & "%'"
End If


If QStrSO <> "" Then
    SortOrder = QStrSO
    If CStr(UCase(SortOrder)) = "DESC" Then
        SOInverted = "DESC"
    Else
        SOInverted = "ASC"
    End If
Else
    SortOrder = "DESC"
    SOInverted = "ASC"
End If

If QstrSF <> "" Then
    SortField = QStrSF
Else
    SortField = "DateFld"
End If
Response.Write "<SCRIPT LANGUAGE=""JavaScript"">" & vbcrlf
Response.Write "function ConfirmDel(URL, txt)" & vbcrlf
Response.Write "    {" & vbcrlf
Response.Write "    if(confirm(""Are you sure you want to delete this certificate - ""+txt+"" - including any sub-certificates?"")) location.href = URL;" & vbcrlf
Response.Write "    }" & vbcrlf
Response.Write "function ConfirmSub(URL, txt)" & vbcrlf
Response.Write "    {" & vbcrlf
Response.Write "    if(confirm(""Are you sure you want to delete this sub-certificate?"")) location.href = URL;" & vbcrlf
Response.Write "    }" & vbcrlf
Response.Write "</SCRIPT>" & vbcrlf

Response.Write "<form action='' method='get'>" & vbcrlf

Response.Write "<table cellspacing='1' cellpadding='10' border='0' style='border: 1px solid #808080; background-color: #fafafa;'>" & vbcrlf
Response.Write "    <tr>" & vbcrlf
Response.Write "        <td valign='top' style='border-right: 1px solid #808080;'><font face='Verdana' size='1' color='#808080'>CertificateNo.only</font><br><input type='text' name='certno' size='12' value='" & QStrCertNo & "'></td>" & vbcrlf
Response.Write "        <td valign='top' style='border-right: 1px solid #808080;'><font face='Verdana' size='1' color='#808080'>OrderNo. only</font><br><input type='text' name='orderno' size='12' value='" & QStrOrderNo & "'></td>" & vbcrlf
'TBH 21.03.2007
Response.Write "        <td valign='top' style='border-right: 1px solid #808080;'><font face='Verdana' size='1' color='#808080'>Order Concerning</font><br><input type='text' name='OrderConcerning' size='12' value='" & QStrOrderConcerning & "'></td>" & vbcrlf
Response.Write "        <td valign='top'><font face='Verdana' size='1' color='#808080'>CustomerNo.</font><br><input type='text' name='custno' size='12' value='" & QStrCustNo & "'></td>" & vbcrlf
Response.Write "        <td valign='top'>" & vbcrlf
Response.Write "        <font face='Verdana' size='1' color='#808080'>From (DD-MM-YYYY)</font><br><input type='text' name='fd' size='10' value='" & QStrFromDate & "'><br>" & vbcrlf
Response.Write "        <font face='Verdana' size='1' color='#808080'>To (DD-MM-YYYY)</font><br><input type='text' name='td' size='10' value='" & QStrToDate & "'><br>" & vbcrlf
Response.Write "        <input type='radio' name='DateField' value='DateFld' " & StrRadioDateFldChecked & "><font face='Verdana' size='1' color='#808080'>Date</font>&nbsp;&nbsp;<input type='radio' name='DateField' value='ExpireDateFld' " & StrRadioExpDateFldChecked & "><font face='Verdana' size='1' color='#808080'>Expiredate</font>" & vbcrlf
Response.Write "        </td>" & vbcrlf
Response.Write "        <td valign='bottom'><input type='submit' value='Search'></td>" & vbcrlf
Response.Write "    </tr>" & vbcrlf
Response.Write "</table>" & vbcrlf

Response.Write "</form>" & vbcrlf
   
Response.Write "<form id=dinForm onsubmit=return sendFoersteCheckbox()>"
If StrWhere <> "" Then
SQL = "SELECT x.*, (SELECT COUNT(RecID) FROM CerfTbl WHERE (FatherCertNo = x.CertNo)) AS NoOfSubCerfs FROM CerfTbl x WHERE (DateFld = (SELECT MAX (DateFld) FROM CerfTbl WHERE CertNo = x.CertNo) AND FatherCertNo Is Null) ORDER BY " & SortField & " " & SortOrder

    Set Rs = Conn.Execute(SQL)
       
       
    If Rs.EOF Then
        Response.Write "<pre>No certificates found</pre>" & vbcrlf       
    Else

           
        Response.Write "<table cellspacing='1' cellpadding='1' border='0' width='100%'>" & vbcrlf
        Response.Write "    <tr>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=DateFld&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;' Title='Sort this column'><font face='Verdana' size='1' color='#808080'>" & GetFieldName("CerfTbl", "DateFld") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=CertNo&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "RefCustNo") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=CertNo&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "CertNo") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=ExpireDateFld&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "ExpireDateFld") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=DataFld50&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "DataFld50") & "</font></td>" & vbcrlf
        'TBH 21.03.2007
        Response.Write "        <td OnClick=""document.location='cerflist.asp?sf=DataFld36&so=" & SOInverted & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "DataFld36") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=DataFld01&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "DataFld01") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=DataFld01&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "DataFld02") & "</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>RAW</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>HTML</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>PDF</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>Print</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>His.</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>Sub.</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>Act.</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>Del.</font></td>" & vbcrlf
        Response.Write "    </tr>" & vbcrlf
       
        counter = 0
        While NOT Rs.EOF
            counter = counter + 1
           
            If CBool(Rs("Disabled")) = True Then
                CellColor = "#FFCCCC"
            Else
                If counter mod 2 = 0 Then
                    CellColor = "#efefef"
                Else
                    CellColor = "#fafafa"
                End If
            End If
           
           
            IntDateDiff = DateDiff("d", Date(), CDate(Rs("ExpireDateFld")), vbMonday)
           
            'Status : RENEW - Red
            If IntDateDiff <= 0 Then
                StatusColor = "#ff0000"
            'Status : ATTENTION - Yellow
            ElseIf IntDateDiff <= GlobalCertYellowStatus AND IntDateDiff >= 1 Then
                StatusColor = "#FFCC00"
            'Status : OK - Green
            Else
                StatusColor = "#009900"
            End If
   
           
            Response.Write "    <tr onMouseOver=""this.style.backgroundColor = '#FFFFCC';"" onMouseOut=""this.style.backgroundColor = '" & CellColor & "';"" style='background-color: " & CellColor & ";'>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><nobr>" & Rs("DateFld") & "</nobr></font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("RefCustNo") & "</font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("CertNo") & "</font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='" & StatusColor & "'><nobr><b>" & Rs("ExpireDateFld") & "</b> (" & IntDateDiff & " days)</nobr></font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("DataFld50") & "</font></td>" & vbcrlf
            'TBH 21.03.2007
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("DataFld36") & "</font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("DataFld01") & "</font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("DataFld02") & "</font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><a href='admrawcerfdata.asp?ID=" & Rs("RecID") & "' target='_blank' title='Show raw data for this certificate'>RAW</a></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><a href='displaycerfHTML.asp?ID=" & Rs("RecID") & "' target='_blank' title='Show HTML of this certificate'>HTML</a></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><a href='displaycerfPDF.asp?ID=" & Rs("RecID") & "' target='_blank' title='Show PDF of this certificate'>PDF</a></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><input type='checkbox' name='Print' value='" & Rs("RecID") & "'></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><a href='/admcerflisthis.asp?certno=" & Rs("CertNo") & "' title='Show history'><img src=/img/plus.gif border=0 width=24 height=24></a></td>" & vbcrlf           
            Response.Write "        <td align='center'><font face='Verdana' size='1' color='#000000'><a href='admsubcerf.asp?FatherCertNo=" & Rs("CertNo") & "' target='_self' title='Add/upload sub-certificate'></td>" & vbcrlf
            If CBool(Rs("Disabled")) = True Then
                Response.Write "        <td align='center'><a href='admreactcerf.asp?CertNo=" & Rs("CertNo") & "'><img src='img/arrow_up.gif' border='0' title='Re-activate this certificate (including any sub-certificates)'></a></td>" & vbcrlf
            Else
                Response.Write "        <td align='center'>&nbsp;</td>" & vbcrlf
            End If
            Response.Write "        <td align='center'><img src='img/icon_delete.gif' border='0' OnClick=""ConfirmDel('admdeletecerf.asp?CertNo=" & Rs("CertNo") & "', '" & Rs("CertNo") & "');"" title='Delete this certificate (including any sub-certificates)'></td>" & vbcrlf
            Response.Write "    </tr>" & vbcrlf
           
            If Rs("NoOfSubCerfs") > 0 Then
                Response.Write "    <tr style='background-color: " & CellColor & ";'>" & vbcrlf
                Response.Write "        <td><font face='Verdana' size='1' color='#000000'>&nbsp;</font></td>" & vbcrlf
                Response.Write "        <td colspan='11'><font face='Verdana' size='1' color='#000000'>"
                SQL = "SELECT * FROM CerfTbl WHERE (FatherCertNo = '" & Rs("CertNo") & "')"
                Set RsSub = Conn.Execute(SQL)
                While NOT RsSub.EOF
                    Response.Write "<img src='img/down.gif' align='absmiddle'>&nbsp;<a href='cerflib/" & RsSub("DataFld02") & "' target='_blank' title='Get this sub-certificate'>" & RsSub("DataFld01") & " (" & RsSub("DateCreated") & ")</a>&nbsp;<img src='img/icon_delete.gif' border='0' align='absmiddle' OnClick=""ConfirmSub('admdeletesubcerf.asp?RecID=" & RsSub("RecID") & "');"" title='Delete this sub-certificate'></a>&nbsp;" & vbcrlf
                    RsSub.MoveNext()
                Wend
                Set RsSub = Nothing
                Response.Write "        </font></td>" & vbcrlf
                Response.Write "    </tr>" & vbcrlf
            End If
            Rs.MoveNext
        Wend
       
        Response.Write "</table>" & vbcrlf
        Response.Write "<input type=submit value=send data>"
        Response.Write "</form>"
       
    End If
           
    Set Rs = Nothing

End If


Call PageBottom()
%>
Avatar billede softspot Forsker
16. maj 2008 - 22:18 #5
Aargh! Fordømt! Jeg kan ikke lige gennemskue alt det kode... :D

Jeg kan dog se at jeg har lavet en "lille" bummert ifht. onsubmit-koden i formularen, da den kalder en funktion som ikke eksisterer. Den linie skal se således ud i stedet:

Response.Write "<form id=dinForm onsubmit=""return initSendCheckbox()"">"

Hvis det stadig ikke fungerer er der følgende kommentarer. Jeg har svært ved at gennemskue hvad kaldet til PageTop genererer af HTML til siden, så jeg kan ikke se om det script jeg har foreslået rent faktisk er placeret korrekt ifht. resten af sidens kode.

Dog kan jeg generelt sige, at du skal sørge for dine checkbokse (dem der er relevante for denne problemstilling) bliver navngivet, så de starter med "Checkbox", f.eks. "Checkbox1", som jeg har vist i eksemplet.
Avatar billede JenZen Novice
16. maj 2008 - 22:59 #6
Har rettet de småting, men tror jeg har fundet fejlen, når jeg holder musen henover den "knap" som Response.Write "<input type=submit value=send data>" danner ser jeg de samme data som hvis jeg holder musen henover Response.Write "        <td valign='bottom'><input type='submit' value='Search'></td>" tror det er fordi de på en elle anden måde ikke kan sammen, kan man ikke bare lave et hyperlink eks.
<a href="#" OnClick="Print">Print</a> ?
Avatar billede softspot Forsker
16. maj 2008 - 23:00 #7
Det kommer an på hvad Print skal, men hvis du mener kalde funktionen initSendCheckbox(), så jo. Det behøves ikke være en submit der trigger den funktion.
Avatar billede JenZen Novice
17. maj 2008 - 09:17 #8
Hej Softspot, her er min kode i CodeLibrary som er included i koden.
Længere nede har jeg indsat det der er nu er min asp kode hvor formen ligger.
Det link jeg har lavet i formen: <a href='#' title='Print Selection' OnClick='initSendCheckbox();'><img src=/img/icon_print.gif border=0></a>
Den får når asp siden vise i en explorer det samme link som den anden form " søgeformen" der ligger i siden. Så tror min form bliver overrulet...?

<!--#include file = "config.asp"-->
<%
Session.Timeout = 60

'If not logged ind, then redirect to login page
If NVL(Session("SessionCustNo")) AND NVL(Session("SessionUserName")) AND BypassLoginCheck = False Then
    Response.Redirect "login.asp"
End If


SUB PageTop()

    Call OpenDBConn(True)
   
    Response.Write "<html>" & vbcrlf
    Response.Write "<head>" & vbcrlf
    Response.Write "<title>TestSite</title>" & vbcrlf
    Response.Write "<script type='text/javascript'>"
    Response.Write "(function(){"
    Response.Write "    if (window.XMLHttpRequest) return;"
    Response.Write "    var o = null, s,"
    Response.Write "    a = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'];"
    Response.Write "    for (var i=0,j=a.length; i<j; i++) {"
    Response.Write "        s=a[i];"
    Response.Write "        try {"
    Response.Write "            if (o=new ActiveXObject(s))  break;"
    Response.Write "        }"
    Response.Write "        catch(e){};"
    Response.Write "    }"
    Response.Write "    window.XMLHttpRequest = o ? function(){return new ActiveXObject(s)} : null;"
    Response.Write "    o = null;"
    Response.Write "})();"
    Response.Write "</script>"
    Response.Write "<script type='text/javascript'>"
    Response.Write "var checked = [];"

    Response.Write "function sendCheckbox(sQuery) {"
    Response.Write "    _oHttp = new XMLHttpRequest();"
    Response.Write "    _oHttp.open('post', 'displaycerfPDF.asp?ID=36351', true);"
    Response.Write "    _oHttp.onreadystatechange = function(){ checkboxSent(_oHttp) };"
    Response.Write "    _oHttp.send(sQuery);"
    Response.Write "}"

    Response.Write "function checkboxSent(oHttp) {"
    Response.Write "    if (oHttp.readyState<4) return;"

      // Fjern det første element i checked-listen
    Response.Write "    checked.splice(0,1);"

      // - og dræb derefter objektet
    Response.Write "    oHttp = null;"

    Response.Write "    setTimeout('sendNaesteCheckbox()', 10);"
    Response.Write "}"

    Response.Write "function sendNaesteCheckbox() {"
    Response.Write "    if(checked.length != 0)"
    Response.Write "        sendCheckbox('id=' + checked[0]);"
    Response.Write "}"

    Response.Write "function initSendCheckbox() {"
    Response.Write "    var frm = document.getElementById('Print');"
    Response.Write "    if(frm) {"
    Response.Write "        for(var i = 0; i < frm.elements.length; i++) {"
    Response.Write "            if(frm.elements[i].name.substr(0,8) == 'Print') {"
    Response.Write "                checked[checked.length] = frm.elements[i].value;"
    Response.Write "            }"
    Response.Write "        }"
    Response.Write "    }"
       
    Response.Write "    sendNaesteCheckbox();"
   
    Response.Write "    return false;"
    Response.Write "}"
    Response.Write "</script>"
    Response.Write "</head>" & vbcrlf   

    Response.Write "<body bgcolor='#FFFFFF' text='#000000' link='#000000' vlink='#000000' alink='#000000' marginheight='0' marginwidth='0' topmargin='0' leftmargin='0' rightmargin='0' bottommargin='0'>" & vbcrlf
       
    Response.Write "<center>" & vbcrlf
   
    Response.Write "<a href='/' target='_top'><img src='img/top.gif' border='0' style='margin-bottom: 3px;'></a><br>" & vbcrlf
    Response.Write "<table cellspacing='0' cellpadding='0' border='0' width='675'>" & vbcrlf
   
    'Customer
    If NVL(Session("SessionCustNo")) = False Then
        MenuElements = 3
       
        Response.Write "    <tr>" & vbcrlf
        Response.Write "        <td align='center' style='padding: 5px; border-right: 3px solid #ffffff; width: 140px; background-color: #002849; cursor: hand;' onclick=""document.location='cerflist.asp';""><font face='Verdana' size='1' color='#ffffff'><b>Certificates</b></font></td>" & vbcrlf
        'Response.Write "        <td align='center' style='padding: 5px; border-right: 3px solid #ffffff; width: 140px; background-color: #002849; cursor: hand;' onclick=""document.location='account.asp';""><font face='Verdana' size='1' color='#ffffff'><b>Account info</b></font></td>" & vbcrlf
        Response.Write "        <td align='right' style='padding: 5px; width: 500px; background-color: #002849; cursor: hand;' onclick=""document.location='logout.asp';""><font face='Verdana' size='1' color='#ffffff'><b>Log out</b></font></td>" & vbcrlf
        Response.Write "    </tr>" & vbcrlf
               
        SQL = "SELECT * FROM CustTbl WHERE (CustNo = '" & Session("SessionCustNo") & "')"
        Set Rs = Conn.Execute(SQL)
   
        If NOT Rs.EOF Then
            Response.Write "    <tr>" & vbcrlf
            Response.Write "        <td align='right' colspan='" & MenuElements & "' style='padding: 5px 0px 5px 0px;'><font face='Verdana' size='1' color='#999999'>Account logged on: <b>" & Rs("CustNo") & "</b></font></td>" & vbcrlf
            Response.Write "    </tr>" & vbcrlf
        End If
        Set Rs = Nothing
       
       
    'Admin user
    ElseIf NVL(Session("SessionUserName")) = False Then
        MenuElements = 3
       
        Response.Write "    <tr>" & vbcrlf
        Response.Write "        <td align='center' style='padding: 5px; border-right: 3px solid #ffffff; width: 140px; background-color: #002849; cursor: hand;' onclick=""document.location='admcerflist.asp';""><font face='Verdana' size='1' color='#ffffff'><b>Certificates</b></font></td>" & vbcrlf
        Response.Write "        <td align='center' style='padding: 5px; border-right: 3px solid #ffffff; width: 140px; background-color: #002849; cursor: hand;' onclick=""document.location='admcust.asp';""><font face='Verdana' size='1' color='#ffffff'><b>Customers</b></font></td>" & vbcrlf
        If CBool(Session("SessionMaster")) Then
            MenuElements = MenuElements + 1
            Response.Write "        <td align='center' style='padding: 5px; border-right: 3px solid #ffffff; width: 140px; background-color: #002849; cursor: hand;' onclick=""document.location='admtemplates.asp';""><font face='Verdana' size='1' color='#ffffff'><b>Templates</b></font></td>" & vbcrlf
        End If
        If CBool(Session("SessionMaster")) Then
            MenuElements = MenuElements + 1
            Response.Write "        <td align='center' style='padding: 5px; border-right: 3px solid #ffffff; width: 140px; background-color: #002849; cursor: hand;' onclick=""document.location='admusers.asp';""><font face='Verdana' size='1' color='#ffffff'><b>Users</b></font></td>" & vbcrlf
        End If
        If CBool(Session("SessionMaster")) Then
            MenuElements = MenuElements + 1
            Response.Write "        <td align='center' style='padding: 5px; border-right: 3px solid #ffffff; width: 140px; background-color: #002849; cursor: hand;' onclick=""document.location='admfieldnames.asp';""><font face='Verdana' size='1' color='#ffffff'><b>FieldNames</b></font></td>" & vbcrlf
        End If
        Response.Write "        <td align='right' style='padding: 5px; width: 500px; background-color: #002849; cursor: hand;' onclick=""document.location='logout.asp';""><font face='Verdana' size='1' color='#ffffff'><b>Log out</b></font></td>" & vbcrlf
        Response.Write "    </tr>" & vbcrlf
       
       
        SQL = "SELECT * FROM AdmUsersTbl WHERE (UserName = '" & Session("SessionUserName") & "')"
        Set Rs = Conn.Execute(SQL)
       
        If NOT Rs.EOF Then
            Response.Write "    <tr>" & vbcrlf
            Response.Write "        <td align='right' colspan='" & MenuElements & "' style='padding: 5px 0px 5px 0px;'><font face='Verdana' size='1' color='#999999'>Admin user logged on: <b>" & Rs("UserName") & "</b></font></td>" & vbcrlf
            Response.Write "    </tr>" & vbcrlf
        End If
        Set Rs = Nothing
   
    End If
   
    Response.Write "    <tr>" & vbcrlf
    Response.Write "        <td colspan='" & MenuElements & "'>" & vbcrlf
End SUB


SUB PageBottom()

    Response.Write "        </td>" & vbcrlf
    Response.Write "    </tr>" & vbcrlf   
    Response.Write "</table>" & vbcrlf
    Response.Write "<br>" & vbcrlf
    Response.Write "</center>" & vbcrlf

    Response.Write "</body>" & vbcrlf
    Response.Write "</html>" & vbcrlf
   
       
    'Close Database Connection
    Call OpenDBConn(False)   
   
End SUB


Private Function NVL(str)
    NVL = False
    If IsNull(str) = False Then
        If str = "" Then
            NVL = True
        End If
    Else
        NVL = True
    End If
End Function


Private Function GetFieldName(LocalTableName, LocalFieldName)
    LocalSQL = "SELECT Description FROM FieldNamesTbl WHERE (RefTableName = '" & LocalTableName & "' AND RefFieldName = '" & LocalFieldName & "')"
    Set LocalRs = Conn.Execute(LocalSQL)
       
    If LocalRs.EOF Then
        'GetFieldName = "Undefined"
        GetFieldName = LocalFieldName
    Else
        GetFieldName = LocalRs("Description")
    End If
    Set LocalRs = Nothing
End Function


Function FileExists(ByVal LocalFileName)
    FileExists = False
    On Error Resume Next
    LocalFileName = Server.MapPath(LocalFileName)
    Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
    Set InStream = FileObject.OpenTextFile (LocalFileName, 1, False, False)
    If Err = 0 Then
        FileExists = True
    End If
End Function


Private Function ReplaceChars(LocalString)
    LocalString        = Trim(LocalString)
    ReplaceChars    = Replace(LocalString, "'", "''")
End Function


Function SQLDateFormated(dateandtime)
    Dim iDay
    Dim iMonth
    Dim iYear

    iDay = Day(dateandtime)
    If Len(iDay)=1 Then iDay=0 & iDay

    iMonth = Month(dateandtime)
    If Len(iMonth)=1 Then iMonth=0 & iMonth

    iYear = Year(dateandtime)

    SQLDateFormated = iYear & "-" & iMonth & "-" & iDay
End Function


Private SUB ShowEditor(LocalStrContent)
   
    Response.Write "        <script language=""JavaScript"" src=""editor/scripts/editor.js""></script>" & vbcrlf
    Response.Write "        <script>" & vbcrlf
    Response.Write "        function submitForm()" & vbcrlf
    Response.Write "            {" & vbcrlf
    Response.Write "            xform.HTML.value = oEdit1.getHTMLBody();" & vbcrlf
    Response.Write "            xform.submit()" & vbcrlf
    Response.Write "            }" & vbcrlf
    Response.Write "        </script>" & vbcrlf

    Response.Write "        <pre id=""idTemporary"" name=""idTemporary"" style=""display:none"">" & LocalStrContent & "</pre>" & vbcrlf
       
    Response.Write "        <script>" & vbcrlf
    Response.Write "            var oEdit1 = new InnovaEditor(""oEdit1"");" & vbcrlf
   
    Response.Write "            oEdit1.cmdAssetManager=""modalDialogShow('/editor/assetmanager/assetmanager.asp',640,465);"";" & vbcrlf
   
    Response.Write "            oEdit1.width=""100%"";" & vbcrlf
    Response.Write "            oEdit1.height=""500px"";" & vbcrlf
    Response.Write "            oEdit1.btnFullScreen=true;" & vbcrlf
    Response.Write "            oEdit1.btnSuperscript=true;" & vbcrlf
    Response.Write "            oEdit1.btnSearch=false;" & vbcrlf
    Response.Write "            oEdit1.btnParagraphFormatting=false;" & vbcrlf
    Response.Write "            oEdit1.btnCssText=false;" & vbcrlf
    Response.Write "            oEdit1.btnBookmark=false;" & vbcrlf
    Response.Write "            oEdit1.btnForm=false;" & vbcrlf
    Response.Write "            oEdit1.btnXHTMLSource=false;" & vbcrlf
   
    Response.Write "            oEdit1.btnCustomTag=true;" & vbcrlf
   
   
    SQL = "SELECT * FROM CerfTbl WHERE (RefCustNo = 'DUMMY')"
    Set RsDUMMY = Conn.Execute(SQL)
   
    StrCustomTags = ""
    counter = 0
    For Each objField In RsDUMMY.Fields
    '    '//do something with objField.Value
    '    Response.Write ObjField.Value & " | "
        counter = counter + 1
        If counter > 1 Then
            StrCustomTags = StrCustomTags & ","       
        End If
        StrCustomTags = StrCustomTags & "[""" & GetFieldName("CerfTbl", ObjField.Name) & """,""{%FIELD:CerfTbl." & ObjField.Name & "%}""]"
    Next
   
    Set RsDUMMY = Nothing
   
   
    Response.Write "            oEdit1.arrCustomTag=[" & StrCustomTags & "];" & vbcrlf
    Response.Write "            oEdit1.buttonMap=[""Save"",""Preview"",""FullScreen"",""StyleAndFormatting"",""|"",""Paragraph"",""FontName"",""FontSize"",""Cut"",""Copy"",""Paste"",""PasteWord"",""|"",""Undo"",""Redo"",""|"",""Bold"",""Italic"",""Underline"",""BRK"",""Superscript"",""JustifyLeft"",""JustifyCenter"",""JustifyRight"",""JustifyFull"",""|"",""Numbering"",""Bullets"",""|"",""Indent"",""Outdent"",""|"",""ForeColor"",""BackColor"",""|"",""Hyperlink"",""Image"",""|"",""InternalLink"",""CustomObject"",""Table"",""Border"",""Guidelines"",""Absolute"",""|"",""Characters"",""Line"",""Clean"",""BRK"",""CustomTag""];" & vbcrlf

   
    'btnCustomTag ?????
    'Response.Write "            oEdit1.btnInternalLink=true;" & vbcrlf
    'oEdit1.cmdInternalLink = "modelessDialogShow('GetInternalLink.asp',500,500)";   
   
    Response.Write "            oEdit1.RENDER(idTemporary.innerHTML);" & vbcrlf
    Response.Write "        </script>" & vbcrlf

    Response.Write"            <input type='hidden' name='HTML'  value='' ID='HTML'>" & vbcrlf
   
End SUB
%>


Anden side:

<!--#include file = "codelibrary.asp"-->
<%
Call PageTop()


'Sort field
QStrSF = Trim(Request.QueryString("sf"))
'Sort order
QStrSO = Trim(Request.QueryString("so"))

'From date
QStrFromDate = Trim(Request("fd"))

'To date
QStrToDate = Trim(Request("td"))

'Search date field
QStrDateField = Trim(Request("datefield"))

If QStrDateField <> "" Then
    If CStr(QStrDateField) = "DateFld" Then
        StrRadioDateFldChecked = "CHECKED"
    ElseIf CStr(QStrDateField) = "ExpireDateFld" Then
        StrRadioExpDateFldChecked = "CHECKED"
    End If
   
    If IsDate(QStrFromDate) AND IsDate(QStrToDate) Then
        StrWhere = QStrDateField & " >= '" & SQLDateFormated(CDate(QStrFromDate)) & "' AND " & QStrDateField & " <= '" & SQLDateFormated(CDate(QStrToDate)) & "'"
    End If
Else
    StrRadioDateFldChecked = "CHECKED"
End If

'Search customerno.
QStrCustNo = Trim(Request("custno"))

If QStrCustNo <> "" Then
    If StrWhere <> "" Then
        StrWhere = StrWhere & " AND "
    End If
    StrWhere = StrWhere & "RefCustNo like '%" & QStrCustNo & "%'"
End If

'Search certno.
QStrCertNo = Trim(Request("certno"))

If QStrCertNo <> "" Then
    StrWhere = "CertNo like '%" & QStrCertNo & "%'"
End If

'Search orderno.
QStrOrderNo = Trim(Request("orderno"))

If QStrOrderNo <> "" Then
    StrWhere = "DataFld50 like '%" & QStrOrderNo & "%'"
End If

'TBH 21.03.2007 Search OrderConcerning.
QStrOrderConcerning = Trim(Request("OrderConcerning"))

If QStrOrderConcerning <> "" Then
    StrWhere = "DataFld36 like '%" & QStrOrderConcerning & "%'"
End If


If QStrSO <> "" Then
    SortOrder = QStrSO
    If CStr(UCase(SortOrder)) = "DESC" Then
        SOInverted = "DESC"
    Else
        SOInverted = "ASC"
    End If
Else
    SortOrder = "DESC"
    SOInverted = "ASC"
End If

If QstrSF <> "" Then
    SortField = QStrSF
Else
    SortField = "DateFld"
End If
Response.Write "<SCRIPT LANGUAGE=""JavaScript"">" & vbcrlf
Response.Write "function ConfirmDel(URL, txt)" & vbcrlf
Response.Write "    {" & vbcrlf
Response.Write "    if(confirm(""Are you sure you want to delete this certificate - ""+txt+"" - including any sub-certificates?"")) location.href = URL;" & vbcrlf
Response.Write "    }" & vbcrlf
Response.Write "function ConfirmSub(URL, txt)" & vbcrlf
Response.Write "    {" & vbcrlf
Response.Write "    if(confirm(""Are you sure you want to delete this sub-certificate?"")) location.href = URL;" & vbcrlf
Response.Write "    }" & vbcrlf
Response.Write "</SCRIPT>" & vbcrlf

Response.Write "<form action='' method='get'>" & vbcrlf

Response.Write "<table cellspacing='1' cellpadding='10' border='0' style='border: 1px solid #808080; background-color: #fafafa;'>" & vbcrlf
Response.Write "    <tr>" & vbcrlf
Response.Write "        <td valign='top' style='border-right: 1px solid #808080;'><font face='Verdana' size='1' color='#808080'>CertificateNo.only</font><br><input type='text' name='certno' size='12' value='" & QStrCertNo & "'></td>" & vbcrlf
Response.Write "        <td valign='top' style='border-right: 1px solid #808080;'><font face='Verdana' size='1' color='#808080'>OrderNo. only</font><br><input type='text' name='orderno' size='12' value='" & QStrOrderNo & "'></td>" & vbcrlf
'TBH 21.03.2007
Response.Write "        <td valign='top' style='border-right: 1px solid #808080;'><font face='Verdana' size='1' color='#808080'>Order Concerning</font><br><input type='text' name='OrderConcerning' size='12' value='" & QStrOrderConcerning & "'></td>" & vbcrlf
Response.Write "        <td valign='top'><font face='Verdana' size='1' color='#808080'>CustomerNo.</font><br><input type='text' name='custno' size='12' value='" & QStrCustNo & "'></td>" & vbcrlf
Response.Write "        <td valign='top'>" & vbcrlf
Response.Write "        <font face='Verdana' size='1' color='#808080'>From (DD-MM-YYYY)</font><br><input type='text' name='fd' size='10' value='" & QStrFromDate & "'><br>" & vbcrlf
Response.Write "        <font face='Verdana' size='1' color='#808080'>To (DD-MM-YYYY)</font><br><input type='text' name='td' size='10' value='" & QStrToDate & "'><br>" & vbcrlf
Response.Write "        <input type='radio' name='DateField' value='DateFld' " & StrRadioDateFldChecked & "><font face='Verdana' size='1' color='#808080'>Date</font>&nbsp;&nbsp;<input type='radio' name='DateField' value='ExpireDateFld' " & StrRadioExpDateFldChecked & "><font face='Verdana' size='1' color='#808080'>Expiredate</font>" & vbcrlf
Response.Write "        </td>" & vbcrlf
Response.Write "        <td valign='bottom'><input type='submit' value='Search'></td>" & vbcrlf
Response.Write "    </tr>" & vbcrlf
Response.Write "</table>" & vbcrlf

Response.Write "</form>" & vbcrlf


Response.Write "<form id=Print onsubmit=""return initSendCheckbox()"">"
If StrWhere <> "" Then
SQL = "SELECT x.*, (SELECT COUNT(RecID) FROM CerfTbl WHERE (FatherCertNo = x.CertNo)) AS NoOfSubCerfs FROM CerfTbl x WHERE (DateFld = (SELECT MAX (DateFld) FROM CerfTbl WHERE CertNo = x.CertNo) AND FatherCertNo Is Null) ORDER BY " & SortField & " " & SortOrder

    Set Rs = Conn.Execute(SQL)
       
       
    If Rs.EOF Then
        Response.Write "<pre>No certificates found</pre>" & vbcrlf       
    Else

           
        Response.Write "<table cellspacing='1' cellpadding='1' border='0' width='100%'>" & vbcrlf
        Response.Write "    <tr>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=DateFld&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;' Title='Sort this column'><font face='Verdana' size='1' color='#808080'>" & GetFieldName("CerfTbl", "DateFld") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=CertNo&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "RefCustNo") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=CertNo&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "CertNo") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=ExpireDateFld&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "ExpireDateFld") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=DataFld50&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "DataFld50") & "</font></td>" & vbcrlf
        'TBH 21.03.2007
        Response.Write "        <td OnClick=""document.location='cerflist.asp?sf=DataFld36&so=" & SOInverted & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "DataFld36") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=DataFld01&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "DataFld01") & "</font></td>" & vbcrlf
        Response.Write "        <td OnClick=""document.location='admcerflist.asp?sf=DataFld01&so=" & SOInverted & "&fd=" & QStrFromDate & "&td=" & QStrToDate & "&datefield=" & QStrDateField & "&custno=" & QStrCustNo & "';"" style='border-bottom: 1px solid #808080; cursor: hand;'><font face='Verdana' size='1' color='#808080; cursor: hand;' Title='Sort this column'>" & GetFieldName("CerfTbl", "DataFld02") & "</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>RAW</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>HTML</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>PDF</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'><a href='#' title='Print Selection' OnClick='initSendCheckbox();'><img src=/img/icon_print.gif border=0></a>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>His.</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>Sub.</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>Act.</font></td>" & vbcrlf
        Response.Write "        <td style='border-bottom: 1px solid #808080;'><font face='Verdana' size='1' color='#808080;'>Del.</font></td>" & vbcrlf
        Response.Write "    </tr>" & vbcrlf
       
        counter = 0
        While NOT Rs.EOF
            counter = counter + 1
           
            If CBool(Rs("Disabled")) = True Then
                CellColor = "#FFCCCC"
            Else
                If counter mod 2 = 0 Then
                    CellColor = "#efefef"
                Else
                    CellColor = "#fafafa"
                End If
            End If
           
           
            IntDateDiff = DateDiff("d", Date(), CDate(Rs("ExpireDateFld")), vbMonday)
           
            'Status : RENEW - Red
            If IntDateDiff <= 0 Then
                StatusColor = "#ff0000"
            'Status : ATTENTION - Yellow
            ElseIf IntDateDiff <= GlobalCertYellowStatus AND IntDateDiff >= 1 Then
                StatusColor = "#FFCC00"
            'Status : OK - Green
            Else
                StatusColor = "#009900"
            End If
   
           
            Response.Write "    <tr onMouseOver=""this.style.backgroundColor = '#FFFFCC';"" onMouseOut=""this.style.backgroundColor = '" & CellColor & "';"" style='background-color: " & CellColor & ";'>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><nobr>" & Rs("DateFld") & "</nobr></font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("RefCustNo") & "</font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("CertNo") & "</font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='" & StatusColor & "'><nobr><b>" & Rs("ExpireDateFld") & "</b> (" & IntDateDiff & " days)</nobr></font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("DataFld50") & "</font></td>" & vbcrlf
            'TBH 21.03.2007
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("DataFld36") & "</font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("DataFld01") & "</font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'>" & Rs("DataFld02") & "</font></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><a href='admrawcerfdata.asp?ID=" & Rs("RecID") & "' target='_blank' title='Show raw data for this certificate'>RAW</a></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><a href='displaycerfHTML.asp?ID=" & Rs("RecID") & "' target='_blank' title='Show HTML of this certificate'>HTML</a></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><a href='displaycerfPDF.asp?ID=" & Rs("RecID") & "' target='_blank' title='Show PDF of this certificate'>PDF</a></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><input type='checkbox' name='Print" & Rs("RecID") & "' value='" & Rs("RecID") & "'></td>" & vbcrlf
            Response.Write "        <td><font face='Verdana' size='1' color='#000000'><a href='/admcerflisthis.asp?certno=" & Rs("CertNo") & "' title='Show history'><img src=/img/plus.gif border=0 width=24 height=24></a></td>" & vbcrlf           
            Response.Write "        <td align='center'><font face='Verdana' size='1' color='#000000'><a href='admsubcerf.asp?FatherCertNo=" & Rs("CertNo") & "' target='_self' title='Add/upload sub-certificate'></td>" & vbcrlf
            If CBool(Rs("Disabled")) = True Then
                Response.Write "        <td align='center'><a href='admreactcerf.asp?CertNo=" & Rs("CertNo") & "'><img src='img/arrow_up.gif' border='0' title='Re-activate this certificate (including any sub-certificates)'></a></td>" & vbcrlf
            Else
                Response.Write "        <td align='center'>&nbsp;</td>" & vbcrlf
            End If
            Response.Write "        <td align='center'><img src='img/icon_delete.gif' border='0' OnClick=""ConfirmDel('admdeletecerf.asp?CertNo=" & Rs("CertNo") & "', '" & Rs("CertNo") & "');"" title='Delete this certificate (including any sub-certificates)'></td>" & vbcrlf
            Response.Write "    </tr>" & vbcrlf
           
            If Rs("NoOfSubCerfs") > 0 Then
                Response.Write "    <tr style='background-color: " & CellColor & ";'>" & vbcrlf
                Response.Write "        <td><font face='Verdana' size='1' color='#000000'>&nbsp;</font></td>" & vbcrlf
                Response.Write "        <td colspan='11'><font face='Verdana' size='1' color='#000000'>"
                SQL = "SELECT * FROM CerfTbl WHERE (FatherCertNo = '" & Rs("CertNo") & "')"
                Set RsSub = Conn.Execute(SQL)
                While NOT RsSub.EOF
                    Response.Write "<img src='img/down.gif' align='absmiddle'>&nbsp;<a href='cerflib/" & RsSub("DataFld02") & "' target='_blank' title='Get this sub-certificate'>" & RsSub("DataFld01") & " (" & RsSub("DateCreated") & ")</a>&nbsp;<img src='img/icon_delete.gif' border='0' align='absmiddle' OnClick=""ConfirmSub('admdeletesubcerf.asp?RecID=" & RsSub("RecID") & "');"" title='Delete this sub-certificate'></a>&nbsp;" & vbcrlf
                    RsSub.MoveNext()
                Wend
                Set RsSub = Nothing
                Response.Write "        </font></td>" & vbcrlf
                Response.Write "    </tr>" & vbcrlf
            End If
            Rs.MoveNext
        Wend
       
        Response.Write "</table>" & vbcrlf
        Response.Write "</form>"
       
    End If
           
    Set Rs = Nothing

End If


Call PageBottom()
%>
Avatar billede softspot Forsker
17. maj 2008 - 09:55 #9
Jeg kan umiddelbart se én fejl, nemlig denne linie:

    Response.Write "            if(frm.elements[i].name.substr(0,8) == 'Print') {"

som skal rettes til:

    Response.Write "            if(frm.elements[i].name.substr(0,5) == 'Print') {"

da du jo har ændret den streng (og dermed også længden) der testes imod under gennemløbet af formular felterne...
Avatar billede JenZen Novice
17. maj 2008 - 10:06 #10
Så har jeg rettet den.
Når jeg vælger mit link <a href='#' title='Print Selection' OnClick='initSendCheckbox();'><img src=/img/icon_print.gif border=0></a>
så dirigerer den mig herhen:
http://trm/admcerflist.asp?certno=1&orderno=&OrderConcerning=&custno=&fd=&td=&DateField=DateFld#

Har du nogen idé om hvorfor ? Den sender slet ikke data igennem formen.
Avatar billede softspot Forsker
17. maj 2008 - 10:33 #11
Prøv lige at skrive den fulde adresse (incl. http://ditdomæne osv.) i denne linie:

    Response.Write "    _oHttp.open('post', 'displaycerfPDF.asp?ID=36351', true);"

i stedet for bare en relativ sideanvisning.
Avatar billede JenZen Novice
17. maj 2008 - 10:38 #12
Det gjorde ingen forskel.
Men kan det ikke være den anden form der "inherits" ved sku ikke lige hvordan man siger det på dansk, der overtager ALT på sitet ?
Avatar billede softspot Forsker
17. maj 2008 - 10:56 #13
Jo, det kan jeg ikke gennemskue. Du har jo inkluderet nogle scripts ud over det jeg har foreslået, så jeg skal da ikke udelukke at det kobles noget kode på elementer som får konsekvens for den kode du har på onclick i linket til print...

Du kan jo prøve at undlade inkludering af andre scripts end det jeg har foreslået, for at se om det fungerer og så derefter koble dem på igen, et ad gangen, så du ved hvilket script der er den sandsynlige "synder".
Avatar billede softspot Forsker
17. maj 2008 - 12:11 #14
Der er i øvrigt lige en rettelse mere til linien:

    Response.Write "            if(frm.elements[i].name.substr(0,5) == 'Print') {"

idet der jo skal checkes om checkboksen er afkrydset inden den medtages (som det er nu medtages alle uanset om de er afkrydset eller ej):

    Response.Write "            if(frm.elements[i].name.substr(0,5) == 'Print' && frm.elements[i].checked) {"
Avatar billede softspot Forsker
17. maj 2008 - 12:12 #15
Jeg tror dog ikke den sidste rettelse løser det problem du nævner, ikke desto mindre skal det jo rettes alligevel :)
Avatar billede JenZen Novice
24. juni 2008 - 22:30 #16
opgav til sidst at få den løst.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester