Note that there are some explanatory texts on larger screens.

plurals
  1. POTroubleshooting JS and FF onclick issue
    text
    copied!<p>I am hopeful that someone can look at my code and let me know where it's failing in FF. Basically, the onclick function is not firing. Here is the JS:</p> <pre><code>function clear_field(field) { if (field.value==field.defaultValue) { field.value='' } } function calsq(form) { var tonf = 0.010000000000000002; // cubic feet to tons var cyards = 0.037; var rwunit = eval(fill.rwunit.value); //ft or in var rwidth = eval(fill.rwidth.value); //quantity var rwv = (rwidth) / (rwunit); // value now in feet var rlunit = eval(fill.rlunit.value); //ft or in var rlength = eval(fill.rlength.value); //quantity var rlv = (rlength) / (rlunit); // value now in feet var rthick = eval(fill.rthick.value); //quantity var rtv = (rthick) / 12; // value now in feet var rcir = 0; // factor 1728 cubic inches var rcyr = 0; // factor 27 cubic yards fill.rcyr.value = Math.round(((rwv) * (rlv) * (rtv) * (cyards)) * 10000) / 10000; // value now in cubic yards } </code></pre> <p>And here is the form:</p> <pre><code>&lt;form name="fill"&gt; &lt;input name="rcyr" type="text" value="0" size="10" maxlength="8" readonly="readonly" id="soil_total" /&gt; &lt;table border="0" align="center" cellpadding="6" cellspacing="0"&gt; &lt;td align="right"&gt; &lt;p&gt;width &lt;/p&gt;&lt;/td&gt; &lt;td&gt;&lt;input name="rwidth" type="text" class="values" onfocus="clear_field(this)" value="0" /&gt;&lt;/td&gt; &lt;td&gt;&lt;select name="rwunit"&gt; &lt;option value = "1" selected="selected"&gt;Feet &lt;/option&gt; &lt;option value = "12"&gt;Inches &lt;/option&gt; &lt;/select&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td align="right"&gt; &lt;p&gt;length &lt;/p&gt;&lt;/td&gt; &lt;td&gt;&lt;input name="rlength" type="text" class="values" onfocus="clear_field(this)" value="0" /&gt;&lt;/td&gt; &lt;td&gt;&lt;select name="rlunit"&gt; &lt;option value = "1" selected="selected"&gt;Feet &lt;/option&gt; &lt;option value = "12"&gt;Inches &lt;/option&gt; &lt;/select&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td align="right"&gt;&lt;p&gt;depth&lt;/p&gt;&lt;/td&gt; &lt;td colspan="2"&gt;&lt;select name="rthick"&gt; &lt;option value = "2"&gt;2 Inches&lt;/option&gt; &lt;option value = "4"&gt;4 Inches&lt;/option&gt; &lt;option value = "6" selected="selected"&gt;6 Inches&lt;/option&gt; &lt;/select&gt; &lt;input type="hidden" name="rcmunit" value = "2" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;input type="button" onclick="javascript:calsq('fill')" src="soil_calculator/images/soil_calculate.png" value="calc" /&gt; &lt;/form&gt; </code></pre> <p>All other browsers fire the event and calculate the total, but Firefox does not. Any help is greatly appreciated.</p> <p><strong>UPDATED</strong></p> <p>A great many thanks for all the advice and suggestions. Below is the working code.</p> <pre><code>function calsq(form) { var tonf = 0.010000000000000002; // cubic feet to tons var cyards = 0.037; var rwunit = +document.forms.fill.rwunit.value; //ft or in var rwidth = +document.forms.fill.rwidth.value; //quantity var rwv = (rwidth) / (rwunit); // value now in feet var rlunit = +document.forms.fill.rlunit.value; //ft or in var rlength = +document.forms.fill.rlength.value; //quantity var rlv = (rlength) / (rlunit); // value now in feet var rthick = +document.forms.fill.rthick.value; //quantity var rtv = (rthick) / 12; // value now in feet var rcir = 0; // factor 1728 cubic inches var rcyr = 0; // factor 27 cubic yards document.forms.fill.rcyr.value = Math.round(((rwv) * (rlv) * (rtv) * (cyards)) * 10000) / 10000; // value now in cubic yards </code></pre> <p>}</p> <p>and the form:</p> <pre><code>&lt;form name="fill"&gt; &lt;input name="rcyr" type="text" value="0" size="10" maxlength="8" readonly="readonly" id="soil_total" /&gt; &lt;table border="0" align="center" cellpadding="6" cellspacing="0"&gt; &lt;td align="right"&gt; &lt;p&gt;width &lt;/p&gt;&lt;/td&gt; &lt;td&gt;&lt;input name="rwidth" type="text" class="values" onfocus="clear_field(this)" value="0" /&gt;&lt;/td&gt; &lt;td&gt;&lt;select name="rwunit"&gt; &lt;option value = "1" selected="selected"&gt;Feet &lt;/option&gt; &lt;option value = "12"&gt;Inches &lt;/option&gt; &lt;/select&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td align="right"&gt; &lt;p&gt;length &lt;/p&gt;&lt;/td&gt; &lt;td&gt;&lt;input name="rlength" type="text" class="values" onfocus="clear_field(this)" value="0" /&gt;&lt;/td&gt; &lt;td&gt;&lt;select name="rlunit"&gt; &lt;option value = "1" selected="selected"&gt;Feet &lt;/option&gt; &lt;option value = "12"&gt;Inches &lt;/option&gt; &lt;/select&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td align="right"&gt;&lt;p&gt;depth&lt;/p&gt;&lt;/td&gt; &lt;td colspan="2"&gt;&lt;select name="rthick"&gt; &lt;option value = "2"&gt;2 Inches&lt;/option&gt; &lt;option value = "4"&gt;4 Inches&lt;/option&gt; &lt;option value = "6" selected="selected"&gt;6 Inches&lt;/option&gt; &lt;/select&gt; &lt;input type="hidden" name="rcmunit" value = "2" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;img src="soil_calculator/images/soil_calculate.png" width="160" height="43" alt="Calculate Volume" onclick="calsq('document.forms.fill')" style="cursor:pointer"/&gt; &lt;/form&gt; </code></pre> <p>Thanks!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload