Ciao a tutti, cercherò di essere breve e conciso. Vorrei che se sul campo di testo con nome "RispostaAperta" c'è del contenuto non venisse lanciato il confirm nella fuzione nonRisponde(), guardate il codice e capirete(provatelo a salvare in htm e vi renderete conto di come funzia):
Saltate tutto fino a quando non trovate codice in grassetto, quello basta per capire (guardate input RispostaAperta e funzione nonRisponde)
<script language="JavaScript">
fadeColor = "#F48000";
stepIn = 25;
stepOut = 5;
autoFade = false;
sloppyClass = false;
macCompat = false;
hexa = new makearray(16);
for(var i = 0; i < 10; i++)
hexa[i] = i;
hexa[10]="a"; hexa[11]="b"; hexa[12]="c";
hexa[13]="d"; hexa[14]="e"; hexa[15]="f";
document.onmouseover = domouseover;
document.onmouseout = domouseout;
fadeColor = dehexize(fadeColor.toLowerCase());
var fadeId = new Array();
function dehexize(Color){
var colorArr = new makearray(3);
for (i=1; i<7; i++){
for (j=0; j<16; j++){
if (Color.charAt(i) == hexa[j]){
if (i%2 !=0)
colorArr[Math.floor((i-1)/2)]=eval(j)*16;
else
colorArr[Math.floor((i-1)/2)]+=eval(j);
}
}
}
return colorArr;
}
function domouseover() {
if(document.all){
var srcElement = event.srcElement;
if ((srcElement.tagName == "A" && autoFade && srcElement.className != "nofade") || srcElement.className == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1)) {
if (!srcElement.startColor) {
srcElement.startColor = (srcElement.style.color)? srcElement.style.color: srcElement.currentStyle.color;
srcElement.startColor = dehexize(srcElement.startColor.toLowerCase());
}
var link = (macCompat? srcElement.name: srcElement.uniqueID);
if (link) fade(srcElement.startColor,fadeColor,link,stepIn);
else if (macCompat) alert("Error: Mac Compatility mode enabled, but link has no name.");
}
}
}
function domouseout() {
if (document.all){
var srcElement = event.srcElement;
if ((srcElement.tagName == "A" && autoFade && srcElement.className != "nofade") || srcElement.className == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1)) {
var link = (macCompat? srcElement.name: srcElement.uniqueID);
if (link) fade(fadeColor,srcElement.startColor,link,stepIn);
}
}
}
function makearray(n) {
this.length = n;
for(var i = 1; i <= n; i++)
this[i] = 0;
return this;
}
function hex(i) {
if (i < 0)
return "00";
else if (i > 255)
return "ff";
else
return "" + hexa[Math.floor(i/16)] + hexa[i%16];
}
function setColor(r, g, b, element) {
var hr = hex(r); var hg = hex(g); var hb = hex(b);
element.style.color = "#"+hr+hg+hb;
}
function fade(s,e,element,step) {
var sr = s[0]; var sg = s[1]; var sb = s[2];
var er = e[0]; var eg = e[1]; var eb = e[2];
if (fadeId[0] != null && fade[0] != element && eval(fadeId[0])) {
var orig = eval(fadeId[0]);
setColor(orig.startColor[0],orig.startColor[1],orig.startColor[2],orig);
var i = 1;
while(i < fadeId.length) {
clearTimeout(fadeId[i]);
i++;
}
}
for(var i = 0; i <= step; i++) {
fadeId[i+1] = setTimeout("setColor(Math.floor(" +sr+ " *(( " +step+ " - " +i+ " )/ " +step+ " ) + " +er+ " * (" +i+ "/" +
step+ ")),Math.floor(" +sg+ " * (( " +step+ " - " +i+ " )/ " +step+ " ) + " +eg+ " * (" +i+ "/" +step+
")),Math.floor(" +sb+ " * ((" +step+ "-" +i+ ")/" +step+ ") + " +eb+ " * (" +i+ "/" +step+ ")),"+element+");",i*step);
}
fadeId[0] = element;
}
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>..:: »Net Monitor« ::..</title>
<meta name="Keywords" content="business, internet">
<META NAME="Author" CONTENT="IdWeb">
<LINK HREF="../CSS/stili_alma.CSS" REL="stylesheet" TYPE="text/css">
</head>
<BODY BGCOLOR="#FFFFFF" topmargin="2" marginheight="0">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="752" height="50">
<tr>
<td colspan="2" height="50">[img]../img/Top/top_alma.jpg[/img]</td>
</tr>
<tr>
<td>
<table cellpadding="0" cellspacing="0">
<tr>
<td class="selezione">
</td>
</tr>
</table>
</td>
<td align="right" nowrap>
</td>
</tr>
<tr>
<td colspan="2" height="5">
</td>
</tr>
</table>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="752" height="400" class="tabSfondo">
<tr>
<td valign="top">
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function checkDisabled(objText,form)
{
if(objText.value.length > 0)//Se ci sono radio button li disabilito
{
for(var i = 0; i < form.elements.length; i++)
{
var objItem = form.elements[i];
numRisp = ((objItem.name.length)-1);
var patternNR = new RegExp(numRisp, "i");
if(patternNR.test(objItem.name) && objItem.type == "radio")//objItem.name == "Risposta"
objItem.disabled = true;
objItem.checked = false;
}
}
else//non c'è scritto niente
{
for(var i = 0; i < form.elements.length; i++)
{
var objItem = form.elements[i];
objItem.disabled = false;
}
}
}
function checkRispostaApertaRadio(form)
{
if(form.elements["RispostaAperta"])
{
form.elements["RispostaAperta"].value=""
}
}
function checkRispostaApertaRadio(form)
{
if(form.elements["RispostaAperta"])
{
form.elements["RispostaAperta"].value=""
}
}
function checkForm(form)
{ var patternD = /Domanda/i
var patternDA = /DomandaAperta/i
var patternR = /Risposta/i
d = 0;
for(var i = 0; i < form.elements.length; i++)
{
var objItem = form.elements[i];
if(patternD.test(objItem.name) && !patternDA.test(objItem.name))
d++;
}
if(form.elements["DomandaAperta"] && form.elements["DomandaAperta"].value.length == 0)
form.elements["DomandaAperta"].disabled = true;
if(form.elements["RispostaAperta"])
{
if(form.elements["RispostaAperta"].value.length == 0)
{
for(var i = 0; i < form.elements.length; i++)
{
var objItem = form.elements[i];
if(objItem.name == "Risposta" && objItem.type == "hidden")
objItem.disabled = true;
/*if(objItem.name == "RispostaAperta" && objItem.type == "text")
objItem.disabled = true;*/
}
numCheck = 0;
for(var i = 0; i < form.elements.length; i++)
{
var objItem = form.elements[i];
if(patternR.test(objItem.name) && objItem.type != "hidden" && objItem.checked)
numCheck++;
}
if(numCheck < d)
{
alert("Nessuna opzione selezionata");
return false;
}
}
else
{
for(var i = 0; i < form.elements.length; i++)
{
var objItem = form.elements[i];
if(objItem.name == "Risposta" && objItem.type == "radio")
objItem.disabled = true;
}
}
}
else
{
numCheck = 0;
for(var i = 0; i < form.elements.length; i++)
{
var objItem = form.elements[i];
if(patternR.test(objItem.name) && objItem.type != "hidden" && objItem.checked)
numCheck++;
}
if(numCheck < d)
{
alert("Nessuna opzione selezionata");
return false;
}
}
var patternR = /Risposta/i
for(var i = 0; i < form.elements.length; i++)
{
var objItem = form.elements[i];
if(patternR.test(objItem.name) && objItem.value == "99" && objItem.checked)
{var msg = "ATTENZIONE! Non ha risposto ad 1 o più domande: è sicuro di non vole rispondere?";
var c = confirm(msg);
if(c){
FormDomanda.submit();}
else {return false;/*self.location.reload();*/}
}
}
return true;
}
function nonRisponde (form){
var patternR = /Risposta/i
for(var i = 0; i < form.elements.length; i++)
{
var objItem = form.elements[i];
if(patternR.test(objItem.name) && objItem.value == "99" && objItem.checked)
{var msg = "ATTENZIONE!
Non ha risposto ad 1 o più domande: è sicuro di non voler rispondere?";
var c = confirm(msg);
if(c){
FormDomanda.submit();}
else {return false;/*self.location.reload();*/}
}
}
}
//-->
</SCRIPT>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="752">
<tr>
<td valign="top">
<table width="745">
<tr>
<td><a href="" name="" onclick="var listDomande=window.open('lista_domande.asp?cod=a14 b','Domande','width=200,height=400,resizable=yes,s tatus=yes,scrollbars=yes,scrolling=yes');listDoman de.focus();return false;">[img]../img/precedenti.gif[/img]
</a><font style="Verdana" size="-4">(per eventuali correzioni, controlli, ecc.)</font></td><td align="right"><a href="#">[img]../img/guida.gif[/img]
</a></td><form name="FormDomanda" action="motor.asp" method="post" onsubmit=" return checkForm(this);return nonRisponde(this);"> <input type="Hidden" name="Percorso" value="">
<input type="Hidden" name="Domanda" value="a14b">
<input type="Hidden" name="Controllo" value="false">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="745">
<tr><td height="15"></td>
<tr><td class="big"colspan="2" align="center">
in quale delle seguenti aree esercita, all'interno dell'azienda o in proprio, il suo lavoro? </td></tr>
<td align="center">
<table > <tr><td bgcolor="#ffffff" 01>01<input type="Radio" onclick="checkRispostaApertaRadio(this.form)" name="Risposta" value="01">
in un'area coincidente con il ramo economico dell'azienda o amministrazione (ad esempio: medico in un ospedale, insegnante in una scuola, ingegnere edile in un impresa di costruzioni, ecc.)</td></tr>
<tr><td bgcolor="#dddddd" 02>02<input type="Radio" onclick="checkRispostaApertaRadio(this.form)" name="Risposta" value="02">
altra area: legale</td></tr>
<tr><td bgcolor="#ffffff" 03>03<input type="Radio" onclick="checkRispostaApertaRadio(this.form)" name="Risposta" value="03">
altra area: finanziaria</td></tr>
<tr><td bgcolor="#dddddd" 04>04<input type="Radio" onclick="checkRispostaApertaRadio(this.form)" name="Risposta" value="04">
altra area: marketing, acquisti, vendite</td></tr>
<tr><td bgcolor="#ffffff" 05>05<input type="Radio" onclick="checkRispostaApertaRadio(this.form)" name="Risposta" value="05">
altra area: organizzazione, gestione del personale</td></tr>
<tr><td bgcolor="#dddddd" 06>06<input type="Radio" onclick="checkRispostaApertaRadio(this.form)" name="Risposta" value="06">
altra area: amministrativa, affari generali</td></tr>
<tr>
<td>altra area: altro (SPECIFICARE<input type="Hidden" name="Risposta" value="13"><input onkeyup="checkDisabled(this,this.form);" type="Text" name="RispostaAperta"></td></tr>
<div style="visibility: hidden"><input type="Radio" onclick="checkRispostaApertaRadio(this.form)" name="Risposta" value="99" checked></div>
</table>
</td>
</tr>
<tr>
<td align="center">
<input type="submit" value="Conferma" style="width:100;font-size:12px;font-family:verdana">
</td>
</tr>
</table>
</form>
<script>
function RestituisciIndex(codRX){
for(var iX = 0; iX < 14; iX++){
if (document.FormDomanda.Risposta[iX].value==codRX) return iX;
}
return false;}document.FormDomanda.RispostaAperta.value=' gfdgf';
</script>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>