2015-09-10 3 views
0

У меня есть поле выбора с номерами деталей, которые вы выбираете первым, и в зависимости от того, какой номер детали вы выберете, некоторые окна ввода отображают для ввода измерений. Затем вы нажимаете «Отправить» и выводите информацию. в таблицу, которая имеет некоторые вычисления, которые она делает в первую очередь. Это отлично работает, если я использую только одно поле ввода для каждого номера детали. Это даже работает, когда у меня есть 2 окна ввода. Если я пройду и сделаю все в первый раз, все будет хорошо. Проблема в том, что когда я пытаюсь выбрать другой номер детали, я получаю сообщение об ошибке. Он говорит, что «» не может быть преобразован в число по моему значению X. Я предполагаю, что это скажет значение Y тоже, если оно заберет так далеко. Кто-нибудь знает, почему это происходит или как это исправить? Вот мой код:Динамическое выпадающее меню с полями ввода

<cfif NOT isDefined("form.submit")> 

<cfif isDefined('form.PartNumber')> 
<cfset page.select_Part = form.PartNumber> 
</cfif> 

<cfif isDefined('form.X')> 
<cfset page.select_X = form.X> 
</cfif> 

<cfif isDefined('form.Y')> 
<cfset page.select_Y = form.Y> 
</cfif> 

</cfif> 

<div align="center"> 
<table width="650" cellpadding="3" cellspacing="10" border="0"> 

<cfoutput> 
    <cfform method="post" name="DropDown"> 

<tr> 
<td align=right class="grayfaqanswers">Shin-Etsu Part Number:</td> 
<td align=left> 

    <select name="PartNumber" class="formboxElastomer" required="required" onchange="this.form.submit()"> 
    <option selected value="">Part Number</option> 
    <option value="MT0.1Px50x50x0.75T" <cfif isDefined('page.select_Part') and PartNumber Is"MT0.1Px50x50x0.75T">selected</cfif>>MT0.1Px50x50x0.75T</option> 
    <option value="MT4x0.05Px50x50x0.5T" <cfif isDefined('page.select_Part') and PartNumber Is"MT4x0.05Px50x50x0.5T">selected</cfif>>MT4x0.05Px50x50x0.5T</option> 
    </select> 

    </td> 
</tr> 

<cfif isDefined('page.select_Part') and PartNumber Is"MT0.1Px50x50x0.75T"> 
<tr> 
<td class="grayfaqanswers" align="right">Xmm:</td> 
<td> 
<cfinput name="X" type="text" validate="integer" message="Please enter only a whole number for the Xmm value!" range = "1,50" validateAt="onSubmit" required="yes" class="formboxElastomer" size="6"> 
</td> 
</tr> 

<tr> 
<td class="grayfaqanswers" align="right">Ymm:</td> 
<td> 
<cfinput name="Y" type="text" validate="integer" message="Please enter only a whole number for the Ymm value!" range = "1,50" validateAt="onSubmit" required="yes" class="formboxElastomer" size="6"> 
</td> 
</tr> 
</cfif> 

<cfif isDefined('page.select_Part') and PartNumber Is"MT4x0.05Px50x50x0.5T"> 
<tr> 
<td class="grayfaqanswers" align="right">Xmm:</td> 
<td> 
<cfinput name="X" type="text" validate="integer" message="Please enter only a whole number for the Xmm value!" range = "1,50" validateAt="onSubmit" required="yes" class="formboxElastomer" size="6"> 
</td> 
</tr> 

<tr> 
<td class="grayfaqanswers" align="right">Ymm:</td> 
<td> 
<cfinput name="Y" type="text" validate="integer" message="Please enter only a whole number for the Ymm value!" range = "1,50" validateAt="onSubmit" required="yes" class="formboxElastomer" size="6"> 
</td> 
</tr> 
</cfif> 

<tr> 
<td> </td> 
</tr> 

<tr> 
<td> </td> 
<td> 
<cfinput name="SubmitElastomer" type="submit" onchange="this.form.submit()" value="Update"> 
<cfinput name="Reset" type="reset" value="Reset"> 

</cfform> 
</td> 
</tr> 

</table> 

<!--- if the correct part number selection has been made, display the calculations with the appropriate sell price results ---> 
<cfif isDefined('page.select_Part') and isDefined('page.select_X') and isDefined('page.select_Y') and PartNumber Is"MT0.1Px50x50x0.75T"> 

<cfset Xmm = Int(50/#X#)> 
<cfset Ymm = Int(50/#Y#)> 

<table class="grayfaqanswers" id="moderntable"> 

<tr class="elastomerheader"> 
<td width=150 align="left">Part Number:</td> 
<td>Xmm:</td> 
<td>Ymm:</td> 
</tr> 

<tr><td colspan="6" valign="top" align="center"><hr></td></tr> 

<tr> 
<td width=150 align="left">#PartNumber#</td> 
<td>#X#</td> 
<td>#Y#</td> 
</tr> 

</table> 
</cfif> 

<!--- if the correct part number selection has been made, display the calculations with the appropriate sell price results ---> 
<cfif isDefined('page.select_Part') and isDefined('page.select_X') and isDefined('page.select_Y') and PartNumber Is"MT4x0.05Px50x50x0.5T"> 

<cfset Xmm = Int(50/#X#)> 
<cfset Ymm = Int(50/#Y#)> 

<table class="grayfaqanswers" id="moderntable"> 

<tr class="elastomerheader"> 
<td width=150 align="left">Part Number:</td> 
<td>Xmm:</td> 
<td>Ymm:</td> 
</tr> 

<tr><td colspan="6" valign="top" align="center"><hr></td></tr> 

<tr> 
<td width=150 align="left">#PartNumber#</td> 
<td>#X#</td> 
<td>#Y#</td> 
</tr> 

</table> 

</cfif> 
</cfoutput> 

ответ

0

Ok. Я смог заставить это работать наконец, но с большим количеством утверждений If. Есть ли способ конденсировать это? Я должен был создать инструкцию If isDefined для каждого текстового поля под каждым выбранным номером партии. Хотел бы я просто иметь значение для вывода X для обоих номеров деталей. Вместо этого мне пришлось вызвать первое значение X для первого номера детали X1st и для значения X для второго номера части называется X2nd. Вот мой обновленный код:

<cfif NOT isDefined("form.submit")> 

<cfif isDefined('form.PartNumber')> 
<cfset page.select_Part = form.PartNumber> 
</cfif> 

<cfif isDefined('form.X1st')> 
<cfset page.select_X1st = form.X1st> 
</cfif> 

<cfif isDefined('form.Y1st')> 
<cfset page.select_Y1st = form.Y1st> 
</cfif> 

<cfif isDefined('form.X2nd')> 
<cfset page.select_X2nd = form.X2nd> 
</cfif> 

<cfif isDefined('form.Y2nd')> 
<cfset page.select_Y2nd = form.Y2nd> 
</cfif> 

</cfif> 

<div align="center"> 
<table width="650" cellpadding="3" cellspacing="10" border="0"> 

<cfoutput> 
    <cfform method="post" name="DropDown"> 

<tr> 
<td align=right class="grayfaqanswers">Shin-Etsu Part Number:</td> 
<td align=left> 

    <select name="PartNumber" class="formboxElastomer" required="required" onchange="this.form.submit()"> 
    <option selected value="">Part Number</option> 
    <option value="MT0.1Px50x50x0.75T" <cfif isDefined('page.select_Part') and PartNumber Is"MT0.1Px50x50x0.75T">selected</cfif>>MT0.1Px50x50x0.75T</option> 
    <option value="MT4x0.05Px50x50x0.5T" <cfif isDefined('page.select_Part') and PartNumber Is"MT4x0.05Px50x50x0.5T">selected</cfif>>MT4x0.05Px50x50x0.5T</option> 
    </select> 

    </td> 
</tr> 

<cfif isDefined('page.select_Part') and PartNumber Is"MT0.1Px50x50x0.75T"> 
<tr> 
<td class="grayfaqanswers" align="right">Xmm:</td> 
<td> 
<cfinput name="X1st" type="text" validate="integer" message="Please enter only a whole number for the Xmm value!" range = "1,50" validateAt="onSubmit" required="yes" class="formboxElastomer" size="6"> 
</td> 
</tr> 

<tr> 
<td class="grayfaqanswers" align="right">Ymm:</td> 
<td> 
<cfinput name="Y1st" type="text" validate="integer" message="Please enter only a whole number for the Ymm value!" range = "1,50" validateAt="onSubmit" required="yes" class="formboxElastomer" size="6"> 
</td> 
</tr> 
</cfif> 

<cfif isDefined('page.select_Part') and PartNumber Is"MT4x0.05Px50x50x0.5T"> 
<tr> 
<td class="grayfaqanswers" align="right">Xmm:</td> 
<td> 
<cfinput name="X2nd" type="text" validate="integer" message="Please enter only a whole number for the Xmm value!" range = "1,50" validateAt="onSubmit" required="yes" class="formboxElastomer" size="6"> 
</td> 
</tr> 

<tr> 
<td class="grayfaqanswers" align="right">Ymm:</td> 
<td> 
<cfinput name="Y2nd" type="text" validate="integer" message="Please enter only a whole number for the Ymm value!" range = "1,50" validateAt="onSubmit" required="yes" class="formboxElastomer" size="6"> 
</td> 
</tr> 
</cfif> 

<tr> 
<td>&nbsp;</td> 
</tr> 

<tr> 
<td>&nbsp;</td> 
<td> 
<cfinput name="SubmitElastomer" type="submit" onchange="this.form.submit()" value="Update">&nbsp; 
<cfinput name="Reset" type="reset" value="Reset"> 

</cfform> 
</td> 
</tr> 

</table> 

<!--- if the correct part number selection has been made, display the calculations with the appropriate sell price results ---> 
<cfif isDefined('page.select_Part') and isDefined('page.select_X1st') and isDefined('page.select_Y1st') and PartNumber Is"MT0.1Px50x50x0.75T"> 

<cfset Xmm = Int(50/#X1st#)> 
<cfset Ymm = Int(50/#Y1st#)> 

<table class="grayfaqanswers" id="moderntable"> 

<tr class="elastomerheader"> 
<td width=150 align="left">Part Number:</td> 
<td>Xmm:</td> 
<td>Ymm:</td> 
</tr> 

<tr><td colspan="6" valign="top" align="center"><hr></td></tr> 

<tr> 
<td width=150 align="left">#PartNumber#</td> 
<td>#X1st#</td> 
<td>#Y1st#</td> 
</tr> 

</table> 
</cfif> 

<!--- if the correct part number selection has been made, display the calculations with the appropriate sell price results ---> 
<cfif isDefined('page.select_Part') and isDefined('page.select_X2nd') and isDefined('page.select_Y2nd') and PartNumber Is"MT4x0.05Px50x50x0.5T"> 

<cfset Xmm = Int(50/#X2nd#)> 
<cfset Ymm = Int(50/#Y2nd#)> 

<table class="grayfaqanswers" id="moderntable"> 

<tr class="elastomerheader"> 
<td width=150 align="left">Part Number:</td> 
<td>Xmm:</td> 
<td>Ymm:</td> 
</tr> 

<tr><td colspan="6" valign="top" align="center"><hr></td></tr> 

<tr> 
<td width=150 align="left">#PartNumber#</td> 
<td>#X2nd#</td> 
<td>#Y2nd#</td> 
</tr> 

</table> 

</cfif> 
</cfoutput> 

Энди

Смежные вопросы