We want to create some kind of ticket form, mostly for customers. This how we would like it to be :
For all services except 6, we want to show the dynamic fields, for the other we won't show anything for now. I already saw the "Howto" viewtopic.php?f=60&t=8032 and another topic viewtopic.php?f=62&t=15082&p=58800&hili ... eld#p58800 and got inspired by the last.
So here is my code
Code: Select all
<!-- dtl:block:TicketService -->
<div>
<label for="ServiceID">$Text{"Service"}:</label>
$Data{"ServiceStrg"}
<div class="Clear"></div>
</div>
<!--dtl:js_on_document_complete-->
<script type="text/javascript">//<![CDATA[
$('#ServiceID').bind('change', function (Event) {
Core.AJAX.FormUpdate($('#NewCustomerTicket'), 'AJAXUpdate', 'ServiceID', ['TypeID', 'Dest', 'PriorityID', 'SLAID', $Data{"DynamicFieldNamesStrg"}]);
Core.Customer.InitFocus();
switch ($(‘#ServiceID’).val()) {
case “184″: //“184\|\|Gen::Standard Request::Request new standard service″
document.getElementById(‘id name’).style.display = ‘none’;
break;
case “185″://“185\|\|Gen::Other request::Need to create additional service″
document.getElementById(‘id name’).style.display = ‘none’;
break;
case “190″://“190\|\|Gen::Hardware″
document.getElementById(‘id name’).style.display = ‘none’;
break;
case “191″://“191\|\|Gen::Hardware::PC″
document.getElementById(‘id name’).style.display = ‘none’;
break;
case “192s″:// “192\|\|Gen::Hardware::Peripheral devices″
document.getElementById(‘id name’).style.display = ‘none’;
break;
case “193″://“193\|\|Gen::Other request::Hardware
document.getElementById(‘id name’).style.display = ‘none’;
break;
case “194″://“194\|\|Gen::Standard Request::Hardware
document.getElementById(‘id name’).style.display = ‘none’;
break;
default:
document.getElementById(‘id name’).style.display = ‘block’;
}
});
//]]></script>
<!-- dtl:block:DynamicField_ProblemLocation -->
<div id="id name" style="display:none;" class="Row Row_DynamicField_$QData{"Name"}">
$Data{"Label"}
<div id="id name" class="Field">
$Data{"Field"}
</div>
<div id="id name" style="display:none;" class="Clear"></div>
</div>
<!-- dtl:block:DynamicField_ProblemLocation -->
<!-- dtl:block:DynamicField_ProblemSymptoms -->
<div id="id name" style="display:none;" class="Row Row_DynamicField_$QData{"Name"}">
$Data{"Label"}
<div id="id name" class="Field">
$Data{"Field"}
</div>
<div id="id name" style="display:none;" class="Clear"></div>
</div>
<!-- dtl:block:DynamicField_ProblemSymptoms -->
<!-- dtl:block:DynamicField_RecreateIncident1 -->
<div id="id name" style="display:none;" class="Row Row_DynamicField_$QData{"Name"}">
$Data{"Label"}
<div id="id name" class="Field">
$Data{"Field"}
</div>
<div id="id name" style="display:none;" class="Clear"></div>
</div>
<!-- dtl:block:DynamicField_RecreateIncident1 -->
<!-- dtl:block:DynamicField_PriorityJustification -->
<div id="id name" style="display:none;" class="Row Row_DynamicField_$QData{"Name"}">
$Data{"Label"}
<div id="id name" class="Field">
$Data{"Field"}
</div>
<div id="id name" style="display:none;" class="Clear"></div>
</div>
<!-- dtl:block:DynamicField_PriorityJustification -->
<!-- dtl:block:DynamicField_TempSolution -->
<div id="id name" style="display:none;" class="Row Row_DynamicField_$QData{"Name"}">
$Data{"Label"}
<div id="id name" class="Field">
$Data{"Field"}
</div>
<div id="id name" style="display:none;" class="Clear"></div>
</div>
<!-- dtl:block:DynamicField_TempSolution -->
<!-- dtl:block:DynamicField_UserSolution -->
<div id="id name" style="display:none;" class="Row Row_DynamicField_$QData{"Name"}">
$Data{"Label"}
<div id="id name" class="Field">
$Data{"Field"}
</div>
<div id="id name" style="display:none;" class="Clear"></div>
</div>
<!-- dtl:block:DynamicField_UserSolution -->
<!--dtl:js_on_document_complete-->
<!-- dtl:block:TicketService -->
I also tried before the solution inspired bySyntaxError: illegal character customer.pl:487
Use of getPreventDefault() is deprecated. Use defaultPrevented instead. CommonJS_e3c67ed4ccbf809e672c35fd97ba6cae.js:3
Code: Select all
document.getElementById('DynamicField_UserSolution').style.display = 'none';
document.getElementById('LabelDynamicField_UserSolution').style.display = 'none';
Any idea where the problem comes from ?