webForumDet fria alternativet

Kan någon detta ???

JavaScript

6 svar · 500 visningar · startad av fotoklippet

Medlem sedan okt. 20125 inlägg
Frågan#1

Jag har ett script jag ska hjälpa en kompis med men vi får inte bilderna att visa sig. Jag tror att scriptet där är fel men kan inte så mycket om detta. Kan någon hjälpa mig .... Jag tror felet ligger vid det fet markerade...

     <script language="JavaScript">
		    function ShowImage() {
                    	if (!document.images) return;
                      	document.images.pictures.src=document.rakneform.form.options[document.rakneform.form.selectedIndex].value;
                    }
                    function ShowInches(inVal, par) {
                     	var newVal = inVal.replace(',', '.');
                     	if (par == 1) {
                     		if (CheckNumNoError(inVal)) {
        			    var res1 = new String(newVal / 25.4);
        			    document.rakneform.par1inch.value = res1.substring(0, res1.indexOf(".") + 4);
        			} else document.rakneform.par1inch.value = "0";
                     	} else if (par == 2) {
                     		if (CheckNumNoError(inVal)) {
        			    var res1 = new String(newVal / 25.4);
        			    document.rakneform.par2inch.value = res1.substring(0, res1.indexOf(".") + 4);
        			} else document.rakneform.par2inch.value = "0";
                     	} else {
                     		if (CheckNumNoError(inVal)) {
        			    var res1 = new String(newVal / 25.4);
        			    document.rakneform.par3inch.value = res1.substring(0, res1.indexOf(".") + 4);
        			} else document.rakneform.par3inch.value = "0";
                     	}
        	    }
                    function CheckNumNoError(value) {
          		var res = parseFloat(value);
                        if (!res) return false;
                        else return true;
          	    }
                    function CheckNum(value,label) {
            		if (!value) {
          			alert("Felaktigt värde för: " + label);
                		return false;
          		} 
          		return true;
          	    }
          			
          	    function ClearFields() {
          	        document.rakneform.param1.value = "";
          		document.rakneform.param2.value = "";
          		document.rakneform.param3.value = "";
          		document.rakneform.parAntal.value = "1";
          		document.rakneform.resultlbs.value = "";
          		document.rakneform.resultkg.value = "";
          		document.rakneform.resulttotlbs.value = "";
          		document.rakneform.resulttotkg.value = "";
          		document.rakneform.par1inch.value = "";
          		document.rakneform.par2inch.value = "";
          		document.rakneform.par3inch.value = "";
          	    }
          			
          	    function CheckParam(p1,p2,p3,pAntal) {
          		var index = document.rakneform.form.selectedIndex;
          				
      			if (index == 0 || index == 4 || index == 10 || index == 11) {
      			    if (!CheckNum(p1, document.rakneform.lbl1.value) || !CheckNum(p2, document.rakneform.lbl2.value) || !CheckNum(pAntal, document.rakneform.lblAntal.value)) return false;
      			} else if (index >= 1 && index <= 3) { //D
      			    if (!CheckNum(p1, document.rakneform.lbl1.value) || !CheckNum(pAntal, document.rakneform.lblAntal.value)) return false;
          		} else {
      			    if (!CheckNum(p1, document.rakneform.lbl1.value) || !CheckNum(p2, document.rakneform.lbl2.value) || !CheckNum(p3, document.rakneform.lbl3.value) ||!CheckNum(pAntal, document.rakneform.lblAntal.value)) return false;
          		}
          				
            	        return true;
          	    }
          			
          			function raknaVikt() {
          				var index = document.rakneform.form.selectedIndex; 
          				var Res = "0";
          				var Param = new Array(5);
						
  					//Param[0] = parseFloat(document.rakneform.param1.value);	
          				//Param[1] = parseFloat(document.rakneform.param2.value);
          				//Param[2] = parseFloat(document.rakneform.param3.value);

                                        var strParm1 = document.rakneform.param1.value.replace(',', '.');
          				var strParm2 = document.rakneform.param2.value.replace(',', '.');
          				var strParm3 = document.rakneform.param3.value.replace(',', '.');
						
  					Param[0] = parseFloat(strParm1);	
          				Param[1] = parseFloat(strParm2);
          				Param[2] = parseFloat(strParm3);
          				Param[3] = parseFloat(document.rakneform.parAntal.value);
          				
          				var Good = CheckParam(Param[0], Param[1], Param[2], Param[3]);
          				
          				if (Good) {
          					if (index == 0) Res = new String(0.0027 * Param[0] * Param[1]);
          					else if (index == 1) Res = new String(0.00212 * Param[0] * Param[0]);
          					else if (index == 2) Res = new String(0.0027 * Param[0] * Param[0]);
          					else if (index == 3) Res = new String(0.00234 * Param[0] * Param[0]);
          					else if (index == 4) Res = new String(((2 * Param[0]) - Param[1]) * Param[1] * 0.0027);
          					else if (index == 5 || index == 6) Res = new String((Param[0] + Param[1] - Param[2]) * Param[2] * 0.0027);
          					else if (index >= 7  && index <= 9) Res = new String((Param[0] + 2 * Param[1] - 2 * Param[2]) * Param[2] * 0.0027);
          					else if (index == 10) Res = new String((Param[0] - Param[1]) * Param[1] * 0.00847);
          					else if (index == 11) Res = new String((Param[0] - Param[1]) * Param[1] * 0.0108);
          					else if (index == 12) Res = new String((Param[0] + Param[1] - 2 * Param[2]) * Param[2] * 0.0054);
          					else if (index == 13) Res = new String((Param[0] * Param[1] * Param[2] * 0.0027) / 1000);
          				}
          				var lbsres = new String(Res * 2.20462262);
          				var lbsTot = new String(lbsres * Param[3]);
          				var kgTot = new String(Res * Param[3]);
          				document.rakneform.resultlbs.value = lbsres.substring(0, lbsres.indexOf(".") + 5);
          				document.rakneform.resultkg.value = Res.substring(0, Res.indexOf(".") + 5);
          			
          				document.rakneform.resulttotlbs.value = lbsTot.substring(0, lbsTot.indexOf(".") + 5);
          				document.rakneform.resulttotkg.value = kgTot.substring(0, kgTot.indexOf(".") + 5);
          			}
          			
          			function ChangeLabel() {
					var index = document.rakneform.form.selectedIndex;

      					//B, T
      					if (index == 0 || index == 4 || index == 11) {
      						document.rakneform.lbl1.value = "Bredd";
      						document.rakneform.lbl2.value = "Tjocklek";
      						document.rakneform.lbl3.value = "-";
      					} else if (index == 1) { //D
          					document.rakneform.lbl1.value = "Diameter";
      						document.rakneform.lbl2.value = "-";
      						document.rakneform.lbl3.value = "-";
          				} else if (index == 2) { //B
          					document.rakneform.lbl1.value = "Bredd";
      						document.rakneform.lbl2.value = "-";
      						document.rakneform.lbl3.value = "-";
          				} else if (index == 3) { //NV
          					document.rakneform.lbl1.value = "NV";
      						document.rakneform.lbl2.value = "-";
      						document.rakneform.lbl3.value = "-";
          				} else if (index == 10) { //D, T
          					document.rakneform.lbl1.value = "Diameter";
      						document.rakneform.lbl2.value = "Tjocklek";
      						document.rakneform.lbl3.value = "-";
          				} else { //H, B, T
          					document.rakneform.lbl1.value = "Höjd";
      						document.rakneform.lbl2.value = "Bredd";
      						document.rakneform.lbl3.value = "Tjocklek";
          				}
        			}
        			
        			ChangeLabel();
        			ClearFields();
				</script>
		<form name="rakneform" method="post" onsubmit="raknaVikt(); return false;">
			<div id="div1">
				<div id="divLeft">
					<table>
						<tr>
							<tr><td height="15"></td></tr>
							<td style="padding-left:30px;">
								Profil:
							</td>
							<td>
								[B]<select name="form" onChange="ChangeLabel();ClearFields();ShowImage();">
									<option selected value="../../sd_files/plattstang.png">Plattstång
        							<option value="../../sd_files/rundstang.png">Rundstång
        							<option value="../../sd_files/fyrkantstang.png">Fyrkantstång
        							<option value="../../sd_files/sexkantstang.png">Sexkantstång
        							<option value="../../sd_files/likfl_lprofil.png">Likfl. L-Profil
        							<option value="../../sd_files/olikf_lprofil.png">Olikfl. L-Profile
        							<option value="../../sd_files/t_profil.png">T-Profil
        							<option value="../../sd_files/u_profil.png">U-Profil
        							<option value="../../sd_files/z_profil.png">Z-Profil
        							<option value="../../sd_files/i_profil.png">I-Profil
        							<option value="../../sd_files/runda_ror.png">Runda rör
        							<option value="../../sd_files/fyrkantsror.png">Fyrkantsrör
        							<option value="../../sd_files/rektang_ror.png">Rektang. rör
        							<option value="../../sd_files/plat.png">Plåt
        						</select>
           					</td>
           					<tr><td height="15"></td></tr>
       						<tr><td style="padding-left:30px;" colspan="2"><img src="../../sd_files/plattstang.png" name="pictures"></[/B]td></tr>
        					<tr><td height="15"></td></tr>
						</tr>
					</table>
				</div>
				<div id="divRight">
					<table>
						<tr><td height="15"></td></tr>
						<tr>
           					<td style="padding-left:15px;">
           						<input type="text" name="lblAntal", size="6" value="Antal" disabled="disabled"> :
      						</td> 
                  			<td>
                  				<input type="text" name="parAntal" size="6" maxlength="10" value="1" tabindex="1">
                  				<span class="smallText">(m)</span>
                  			</td>
                  		</tr>
                  			
                  		<tr>
   							<td style="padding-left:15px;">
   								<input type="text" name="lbl1" size="6" onBlur="ChangeLabel();" value="Bredd" disabled="disabled"> : 
                  			</td>
                  			<td>
                  				<input type="text" name="param1" size="6" maxlength="10" tabindex="2" onblur="ShowInches(this.value, 1);">
                  				<span class="smallText">(mm)</span>
            				</td>
            				<td style="padding-left:15px;">
            					<input type="text" name="par1inch" size="5" maxlength="10" disabled="disabled">
            					<span class="smallText">(tum)</span>
            				</td>
            			</tr>
            			<tr>
   							<td style="padding-left:15px;">
   								<input type="text" name="lbl2" size="6" onBlur="ChangeLabel();" value="Tjocklek" disabled="disabled"> : 
                  			</td>
                  			<td>
                  				<input type="text" name="param2" size="6" maxlength="10" tabindex="3" onblur="ShowInches(this.value, 2);">
                  				<span class="smallText">(mm)</span>
            				</td>
            				<td style="padding-left:15px;">
            					<input type="text" name="par2inch" size="5" maxlength="10" disabled="disabled">
            					<span class="smallText">(tum)</span>
            				</td>
            			</tr>
            			<tr>
   							<td style="padding-left:15px;">
   								<input type="text" name="lbl3" size="6" onBlur="ChangeLabel();" value="-" disabled="disabled"> : 
                  			</td>
                  			<td>
                  				<input type="text" name="param3" size="6" maxlength="10" tabindex="4" onblur="ShowInches(this.value, 3);">
                  				<span class="smallText">(mm)</span>
            				</td>
            				<td style="padding-left:15px;">
            					<input type="text" name="par3inch" size="5" maxlength="10" disabled="disabled">
            					<span class="smallText">(tum)</span>
            				</td>
            			</tr>
                  		
                  		<tr><td height="56"></td></tr>
                  		<tr>
                  			<td colspan="2">
                  				<input type="submit" name="Submit" value="Räkna" style="margin-left:0.5cm" tabindex="5">
      							<input type="reset" name="reset" value="Rensa" onClick="ClearFields();return false;" style="margin-left:1cm" tabindex="6">
      						</td> 
         				</tr>
       					<tr><td height="15"></td></tr>
					</table>
				</div>
				<div style="clear:both;height:10px;"></div>
				<div id="divCenter">
					<table>
						<tr><td height="15"></td></tr>
						<tr>
							<td style="padding-left:100px;">kg:
								<input type="text" maxlength="10" name="resultkg" size="10" onBlur="ChangeLabel();" disabled="disabled">
							</td>
							<td style="padding-left:30px;">lbs:
								<input type="text" maxlength="10" name="resultlbs" size="10" onBlur="ChangeLabel();" disabled="disabled">
							</td>
							<td style="padding-left:10px;">per meter</td>
						</tr>
						<tr>
							<td style="padding-left:100px;">kg:
								<input type="text" maxlength="10" name="resulttotkg" size="10" onBlur="ChangeLabel();" disabled="disabled">
							</td>
							<td style="padding-left:30px;">lbs:
								<input type="text" maxlength="10" name="resulttotlbs" size="10" onBlur="ChangeLabel();" disabled="disabled">
							</td>
							<td style="padding-left:10px;">totalt</td>
						</tr>
						<tr><td height="15"></td></tr>
					</table>
				</div>
			</div>
		</form>
		
</td>
		</tr>
	</table>
Medlem sedan juni 20019 519 inlägg
#2

Om du skriver ChangeLabel() så kommer den köras direkt, du vill ha en referens till den, nu skriver jag inte onChange på detta sätt men:

onChange="function() { ChangeLabel();ClearFields();ShowImage();}"

kan fungera, annars skapa en ny metod som kör ChangeLabel, ClearFields och ShowImage och ha den nya funktionen som en referens.

Medlem sedan okt. 20125 inlägg
#3

Ja men scriptet tror jag ska vara riktigt men det är koden där bilden visas som inte är riktig.... Kan ha fel men här är den koden

<img src="../../sd_files/plattstang.png" name="pictures">

Medlem sedan okt. 20125 inlägg
#4

Det jag är ute så du inte missförstår mig är att när man väljer olika i option så ska bilden ändra sig till den rätta och scriptet har jag fått av han men det verkar som det borde vara en kod nere där bilden är eller???

Medlem sedan juni 20019 519 inlägg
#5

jag kopierade din kod och få:

Tidsstämpel: 2012-10-10 12:21:40
Fel: TypeError: document.rakneform is undefined
Rad: 110

du har inget formulär med namn/id rakneform?

Medlem sedan okt. 20125 inlägg
#6

Ursäkta men vad menas med det ? Som sagt är inte så duktig på detta men är det någon fil som saknas?

Medlem sedan juni 20019 519 inlägg
#7

i din kod som du har bifogat så finns det inget formulär (<form>) som har namnet/id rakneform, du kan inte korta ner koden och berätta vad som inte fungera, känns nog inte så attraktivt att gå igenom 200+ rader kod åt dig.

268 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)