Ok, allora rifacciamo, tieni pure una pagina sola.
Il client diventa:
codice:
<script>
  function ZonaChange(selZona) {
    var selValue = selZona.options[selZona.selectedIndex].value;
    if(selValue != -1) {
      if (selValue == 22) {
        selZona.form.motivazione.disabled = true;
        selZona.form.tipologia.disabled = true;
        selZona.form.locali.disabled = true;
        selZona.form.prezzo.disabled = true;
      }
      else {
        selZona.form.motivazione.disabled = false;
        selZona.form.tipologia.disabled = false;
        selZona.form.locali.disabled = false;
        selZona.form.prezzo.disabled = false;
      }
    }
  }
</script>
La action rimane quindi fissa e cioè "risultato.asp" come scritto nell'html.


La pagina risultato.asp che hai postato deve aggiungere solo la condizione su zonarichiesta se dal client si è selezionato "speciale" e cioè la scelta con value="22". Ti basta aggiungere una condizione:
codice:
...
...
if Request.Form("zonarichiesta") = "-1" Then Response.Redirect("pag_err.htm") 

myDSN="PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};" 
myDSN=myDSN & "DBQ="&Server.MapPath("/data/medioweb.mdb")&";UID=administrator;PWD=;" 

strWhere = " offerte.off_motivazione = " & Request.Form("motivazione") 
if Request.Form("zonarichiesta") <> 0 then strWhere = strWhere & " AND offerte.off_zona = " & Request.Form("zonarichiesta") 
If Request.Form("zonarichiesta") <> 22 Then 'Se si è scelto "speciale" non si aggiungono altre condizioni
  if Request.Form("tipologia") <> 0 then strWhere = strWhere & " AND off_tipologia = " & Request.Form("tipologia") 
  if Request.Form("locali") <> 0 then strWhere = strWhere & " AND off_num_locali = " & Request.Form("locali") 
  if Request.Form("prezzo") <> 0 then 
    Select case Request.Form("prezzo") 
      Case 1 
        strWhere = strWhere & " AND (off_prezzo > 0 AND off_prezzo <= 40000) " 
      Case 2 
        strWhere = strWhere & " AND (off_prezzo > 40000 AND off_prezzo <= 60000) " 
      Case 3 
        strWhere = strWhere & " AND (off_prezzo > 60000 AND off_prezzo <= 80000) " 
      Case 4 
        strWhere = strWhere & " AND (off_prezzo > 80000 AND off_prezzo <= 100000) " 
      Case 5 
        strWhere = strWhere & " AND (off_prezzo > 100000 AND off_prezzo <= 200000) " 
    End Select 
  End If 
End If
...
...
E' ok?