webForumDet fria alternativet

Kalla pa funktion i action

10 svar · 378 visningar · startad av Gimbo

GimboMedlem sedan dec. 20001 626 inlägg
#1

Hejsan!

Jag har ett formular med 5olika radio knappar, tre st har samma namn o de 2 aterstaende har 2 andra namn, formularet ser ut pa foljande vis:

- Kunder
- daglig summering
- manads summering

- Alla
- Valj fran lista

man ska valja en av de tre overst och sedan en av de tva under och klicka pa submit

men problemet ligger i formularet och action taggen, jag har gjort sa att detta fungerar m h a en funktion som jag har nestlat en hel del if sattser i, och jag vill kalla pa den har funktionen i action taggen och vet inte hur det gar till, har testat pa foljande satt men d vill sig inte: <form method="GET" action="javascript:funktionen()"> men d vill sig inte...

ngn som vet hur man gor??

@ndersMedlem sedan juni 200032 969 inlägg
#2

<form onsubmit="funktionen();">

GimboMedlem sedan dec. 20001 626 inlägg
#3

glomde namne d att jag har redan en onsubmit, sa har ser hela form taggen ut:

<form name="form" method="GET" action="javascript:funktionen()" target="_blank" onsubmit="return formCheck()">

java funktionen fungerar pa sa vis att beroende pa vilket val de gor sa skickas de vidare till en specifik asp sida...

@ndersMedlem sedan juni 200032 969 inlägg
#4

Vad gör funktionen()?

Du kan ju köra båda funktionerna i onsubmit() dock.

<form onsubmit="funktionen(); return formCheck();">

GimboMedlem sedan dec. 20001 626 inlägg
#5

funktionen gar ut pa att skicka vidare besokaren till en specifik sida beroende pa vad han gor for val i formularet...

@ndersMedlem sedan juni 200032 969 inlägg
#6

vad gör formCheck() då?
Kan du inte kombinera båda? eller ska man bara skickas någonstans om formCheck returnerar true?

<form onsubmit="if (formCheck()) { funktionen(); }">

mvh,

GimboMedlem sedan dec. 20001 626 inlägg
#7

formCheck kollar bara om vissa falt ar ifyllda... men behovs inte en actrion i en form tagg, jag menar ar inte action obligatorisk i en form tagg??

@ndersMedlem sedan juni 200032 969 inlägg
#8

Den behövs inte, men den krävs av w3c för att det skall vara korrekt html: http://www.w3.org/TR/html401/interact/forms.html#h-17.3

Det borde dock inte vara några problem att lägga in # som action tycker jag, annars, vilken dummy-sida som helst.

Testa:

<form action="#" onsubmit="if (formCheck()) { funktionen(); }">

mvh,

GimboMedlem sedan dec. 20001 626 inlägg
#9

jag far fnatt snart... sattet jag gor pa fungerar inte, if sattsen verkar vara knas, den far inga varden nar jag testar med att satta in alert...

anders hur skulle du gora pa enklaste satt for att fa detta formular att fungera??

tre radio knppar uppe o 2 under, bada ar beroende av varandra, om man markerar exempelvis kunder och markerar alla sa ska den till en speciell sida, om man markerer kunder valj fram lista, sa ska den till en annan asp sida...

fostor du hur jag menar?? ar tacksam for svar...

@ndersMedlem sedan juni 200032 969 inlägg
#10

Visa hur formuläret och de två javascriptfunktionerna ser ut så kan säkert någon hjälpa dig med en bra lösning.

mvh,

GimboMedlem sedan dec. 20001 626 inlägg
#11
<script language="javascript">
function formCheck ()
{
        //var fMM = document.form.FMonth.value;
        //alert("the value for fMM is " + fMM);
	if (!isHidden("fromDate")) {
            if (document.form.FMonth.value == "")  
            {
	    alert("u forgot something");
	    document.form.FMonth.focus();
	    return false;
	    }
            if (document.form.FDay.value == "")  
            {
	    alert("u forgot something");
	    document.form.FDay.focus();
	    return false;
	    }
            if (document.form.FYear.value == "")  
            {
	    alert("u forgot something");
	    document.form.FYear.focus();
	    return false;
	    }
         }
         if (!isHidden("toDate")) {
            if (document.form.TMonth.value == "")  
            {
	    alert("u forgot something");
	    document.form.TMonth.focus();
	    return false;
	    }
            if (document.form.TDay.value == "")  
            {
	    alert("u forgot something");
	    document.form.TDay.focus();
	    return false;
	    }
            if (document.form.TYear.value == "")  
            {
	    alert("u forgot something");
	    document.form.TYear.focus();
	    return false;
	    }
         }

function for_all_customers() {
  if (document.form.report.value == "SalesByCustomer") {
	alert("inside salesbycust and forAll before ForAll");
      if (document.form.customersOpt.value == "for_all") {
	     alert("inside salesbycust and forAll");
         setFormAction("url1.asp");	
      }
      else {
         alert("inside salesbycust and fromList");
         setFormAction("url2.asp");	
      
      }
  
  }
  else if (document.form.report.value == "DailySummary") {
      if (document.form.customersOpt.value == "for_all") {
	 alert("inside dailysummary and for all");
         setFormAction("url3.asp");	
      }
      else {
	alert("inside dailySummary and fromLIst");
         setFormAction("url4.asp");	
      
      }
  }
  else if (document.form.report.value == "SalesByMonth") {
      if (document.form.customersOpt.value == "for_all") {
	alert("inside salesbyMonth and forAll");
         setFormAction("url5.asp");	
      }
      else {
	alert("inside salesbyMonth and fromList");
         setFormAction("url6.asp");	
      
      }
  }
else {
alert("No match found");
}

  unselectAll();
  show("fromDate");
  show("toDate");
  show("reportType");
  document.form.custNbr.value = "endC";  
  
}

.
.
.
finns annu mer kod har, men ar inte nodvandig i min fraga
</script>

formularet ser ut pa foljande vis:

<form name="form" method="GET" target="_blank" onsubmit="return formCheck(); for_all_customers();">
<input type="hidden" name="repCode" value="<%=blabla%>">
<input type="hidden" name="eMailReport" value="N">

  <tbody>
    <tr>
      <td vAlign="top"><!-- Start Query Table -->
                <table cellSpacing="0" cellPadding="2" width="90%" bgColor="#CCCC99" border="0" height="129">
                  <tbody>
                    <tr>
                      <td nowrap>
                      <font class="regular11" face="Arial,Helvetica,Verdana" size="1">
                      <b>Select Report</b><br>
                      <!-- Select type of report -->
                      <table cellSpacing="0" cellPadding="0" border="0">
                          <td>
                              <input type="radio" name="report" value="SalesByCustomer" checked onclick="selectSalesByCustomer()"> Sales by Customer<br>
                              <input type="radio" name="report" value="DailySummary" onclick="selectDailySummary()"> Daily Summary<br>
                              <input type="radio" name="report" value="SalesByMonth" onclick="selectSalesByMonth()"> Sales by Month                                   
                          </td>
                      </table>
                      <br><br>
			<font class="regular11" face="Arial,Helvetica,Verdana" size="1">
                      <b>Customers</b><br>
                      <table cellSpacing="0" cellPadding="0" border="0">
                        <td>
                          <input type="radio" name="customersOpt" checked value="for_all" onclick="for_all_customers()"> All.<br>
                          <input type="radio" name="customersOpt" value="select_from_list" onclick="selectFromList()"> Select from list.<br>                                 
                        </td>
                      </table>
                      </p>
                      </font>

                      <div id="reportType">
                      <font class="regular11" face="Arial,Helvetica,Verdana" size="1">
                      <b>Report Type</b><br>
                      <input type="radio" CHECKED value="Bookings" name="rptType">Bookings<br>
                      <input type="radio" value="Shipments" name="rptType">Shipments
                      </font>
                      </div>
                      <!-- Start From/To Dates -->
                      <br>
                                            <font face="Arial, Helvetica" size="1">
                      <div id="fromDate">
                      <b>From</b> ( mm / dd / yyyy )<br>
                      &nbsp; &nbsp;<input maxLength="2" size="2" name="FMonth">
                      &nbsp;/&nbsp;<input maxLength="2" size="2" name="FDay">
                      &nbsp;/&nbsp;<input maxLength="4" size="4" name="FYear">
                      </div>
                      <div id="toDate">
                                            <b>To</b> ( mm / dd / yyyy )&nbsp;<br>
                      
                      &nbsp; &nbsp;<input maxLength="2" size="2" name="TMonth">
                      &nbsp;/&nbsp;<input maxLength="2" size="2" name="TDay">
                      &nbsp;/&nbsp;<input maxLength="4" size="4" name="TYear">
                      </div>
                      <!-- End From/To Dates -->
                      </td>

glomde saga d att problemet ar att den inte skickar vidare besokaren till de olika url

268 ms totalt · 3 externa anrop · v20260731065814-full.30151723
125 ms — hämta forumlista (db)
125 ms — hämta statistik (db)
141 ms — hämta tråd, inlägg och bilagor (db)