webForumDet fria alternativet

Kan någon detta ???

6 svar · 498 visningar · startad av fotoklippet

fotoklippetMedlem sedan okt. 20125 inlägg
#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>
voigtann1Medlem sedan juni 20018 810 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.

fotoklippetMedlem 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">

fotoklippetMedlem 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???

voigtann1Medlem sedan juni 20018 810 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?

fotoklippetMedlem 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?

voigtann1Medlem sedan juni 20018 810 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.

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb