asp combobox

Πληροφορίες σχετικές με την ASP, ASP.NET και με τις εφαρμογές που είναι γραμμένες με αυτήν.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
ttt2005
Δημοσιεύσεις: 42
Εγγραφή: 07 Φεβ 2005 03:43

asp combobox

Δημοσίευση από ttt2005 » 16 Μαρ 2005 13:46

εχω ενα combobox αλλα οταν γινεται το action η επιλογη που επελεξα δεν εμφανιζεται αλλα λεει ΠΑΡΑΚΑΛΩ ΕΠΙΛΕΞΤΕ

τι κανω λαθος?

Κώδικας: Επιλογή όλων

<select name="egazomenoi" onChange="MM_jumpMenu&#40;'parent',this,0&#41;">


<option value="#">Παρακαλώ επιλέξτε </option>

<% Do While &#40;not rs2.bof&#41; and &#40;not rs2.eof&#41; %>

<option value="1.asp?action=show&oi=<%=rs2.fields&#40;"oi"&#41;%>" <% if rs2.fields&#40;"oi"&#41;=CInt&#40;myerg&#41; Then response.write "selected" %>>
<%=rs2.fields&#40;"oi"&#41;%></option>
<% rs2.movenext
loop %>
</select>

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

asp combobox

Δημοσίευση από skeftomilos » 17 Μαρ 2005 07:31

Όταν ο server τρέχει μία σελίδα ASP παράγει μία σελίδα με σκέτη HTML την οποία και στέλνει στον browser. Τη σελίδα αυτή μπορείς να δεις στον IE με View->Source και στον Firefox με View->Page Source. Είναι μία καλή ιδέα να εξετάζεις αυτή τη σελίδα για να βεβαιώνεσαι ότι τα asp scripts δουλεύουν όπως θα ήθελες. Στη συγκεκριμένη περίπτωση θα δεις αν υπάρχει κάποιο <option> με attribute SELECTED. Αν όχι σημαίνει ότι η συνθήκη rs2.fields("oi")=CInt(myerg) δεν υπήρξε ποτέ αληθής.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

ttt2005
Δημοσιεύσεις: 42
Εγγραφή: 07 Φεβ 2005 03:43

asp combobox

Δημοσίευση από ttt2005 » 17 Μαρ 2005 10:45

1. ειδα και δεν μου το επιστρεφει το SELECTED. μηπως δεν αναγνωριζει το oi επειδη προερχεται απο 3πεδια του πινακα?

2. εχω 2 ή 3 combobox μετα το action πως μπορουν τα προηγουμενα combobox να διατηρουν τις τιμες τους;

π.χ εχω 3 combobox επιλεγω απο το 1 combobox μια επιλογη.
επιλεγω απο το 2combobox μια επιλογη.
στο 3combobox γινεται το action και ανανεωνεται η σελιδα. πως τα δυο προηγουμενα combobox διατηρουν τισ τιμες που εδωσα?

ολα τα combobox πρεπει να βρισκονται σε μια φορμα?
η το καθε combobox στην δικη του φορμα και ολα μαζι σε μια φορμα?
η μονο το combobox με το action πρεπει να εχει δικη του φορμα και ολα μαζι σε μια φορμα?

<%
connStr = "Provider=SQLOLEDB; Data Source=localhost; Initial Catalog=ora;User Id=sa;Password=sa2;"

myerg=Request.QueryString("oi")

Set con1 = Server.CreateObject("ADODB.Connection")

con1.Open connStr

Set rs2 = con1.Execute ("select erg+tmim+thes as oi,* FROM maintenance.F601")

if Request.QueryString("action")="show" Then


Set rs1 = con1.Execute ("select * from maintenance.F601 A, maintenance.F600 B Where A.erg+tmim+thes=" & CInt(myerg) & " And A.erg+tmim+thes=B.cod3")

End If
%>

<html>
<head>
<title>Untitled Document</title>


<script language="JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body>

<form name="form1" method="post" action="">
<select name="e" onChange="MM_jumpMenu('parent',this,0)">
<option value="#">ΕΠΙΛΕΞΤΕ</option>

<% Do While (not rs2.bof) and (not rs2.eof) %>

<option value="1.asp?action=show&oi=<%=rs2.fields("oi")%>" <% if rs2.fields("oi")=CInt(myerg) Then response.write "selected" %> >
<%=rs2.fields("oi")%>-<%=rs2.fields("des")%></option>

<% rs2.movenext
loop %>
</select>
</form>

<select name="mix">
<option value="">ΕΠΙΛΕΞΤΕ</option>
<%do while (not Rs1.bof) and (not Rs1.eof)%>
<option value="<%=Rs1.fields("COD1")%>" > <%=Rs1.fields("COD1")%><%=Rs1.fields("DES")%> </option>
<%Rs1.movenext
loop %>
</select>

</body>
</html>
<%
con1.Close
Set con1 = Nothing
Set rs1 = Nothing
%>

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

asp combobox

Δημοσίευση από skeftomilos » 17 Μαρ 2005 20:16

Η ορολογία action δεν είναι τόσο σωστή. Όταν στέλνουμε μία φόρμα λέμε ότι κάνουμε submit. Ο πιο απλός τρόπος για να γίνει submit είναι με κουμπί submit:

Κώδικας: Επιλογή όλων

<form>
  <input type="submit">
</form>
Μπορεί να γίνει και με JavaScript:

Κώδικας: Επιλογή όλων

<script>
  document.forms&#91;0&#93;.submit&#40;&#41;
</script>
Στην περίπτωσή σου δεν έχω καταλάβει τι ακριβώς θέλεις να πετύχεις με το combobox - jumpmenu. Αυτά χρησιμοποιούνται ως εναλλακτικό navigation και αλλάζουν τη σελίδα που βλέπει ο χρήστης, συνήθως δεν κάνουν submit. Αν δεις τη ρουτίνα MM_jumpMenu θα δεις ότι απλά αλλάζει το location του parent παραθύρου (αλήθεια χρησιμοποιείς Frames?). Μην περιμένεις να κρατήσεις τις επιλεγμένες τιμές των πεδίων έτσι. Για να διατηρήσεις το state - όπως λέγεται - πρέπει να κάνεις submit μία φόρμα, και να γράψεις έξυπνο κώδικα ASP που να διαβάζει τις submited values και να γράφει την κατάλληλη HTML. Ουπς! όχι δεν επιτρέπονται nested forms! Μπορείς να έχεις όσες φόρμες θέλεις στη σελίδα, αλλά πρέπει να ξέρεις το λόγο που τις έχεις. Το ποιό απλό είναι να έχεις μία φόρμα μόνο που να τα περιέχει όλα. Αυτό κάνει για παράδειγμα ο designer του MS Visual Studio .NET.

Δε μπορώ να βοηθήσω περισσότερο αν δεν ξέρω το σκοπό ύπαρξης των combobox. Ποια είναι για navigation και ποια για συλλογή πληροφοριών από το χρήστη?
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “ASP, ASP.NET”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες