SuiteCRM Версия 7.2.1SugarCRM - Как добавить событие OnClick к существующим HTML/Checkbox
Sugar Версия 6.5.20 (Build 1001)
Okay так, чтобы быть ясно здесь, я знаю, как добавить событие onClick для флажка, проблема в том, что я не уверен, как это сделать в SugarCRM.
У меня есть поле Multi-Select в SugarCRM. Это должен быть многотоновый флажок, но поля HTML в SugarCRM являются «только для чтения». Поэтому мне нужно было отредактировать существующее поле и изменить его флажок Multi-checkbox. Если обнаружено, что ответ here.
Ну, теперь у меня есть мульти-флажок, например ниже, с опцией «none». Теперь я хочу, чтобы это произошло в EditView, когда пользователь нажимает «ни один из вышеперечисленных», все остальные параметры отключены и не проверены.
Вот нормальный код, который генерируется для HTML:
<p style="height: 200px; overflow: scroll; margin-bottom: 1.5em; width:30%" class="select">
<input type="hidden" id="typesoflicenses_c_multiselect" name="typesoflicenses_c_multiselect" value="true">
<label><input type="checkbox" name="typesoflicenses_c[]" value="1" id="typesoflicenses_c" title="">Life Insurance</label><br>
<label><input type="checkbox" name="typesoflicenses_c[]" value="2" id="typesoflicenses_c" title="">Securities</label><br>
<label><input type="checkbox" name="typesoflicenses_c[]" value="3" id="typesoflicenses_c" title="">CPA</label><br>
<label><input type="checkbox" name="typesoflicenses_c[]" value="4" id="typesoflicenses_c" title="">Attorney</label><br>
<label><input type="checkbox" name="typesoflicenses_c[]" value="5" id="typesoflicenses_c" title="">Mortgage Broker</label><br>
<label><input type="checkbox" name="typesoflicenses_c[]" value="6" id="typesoflicenses_c" title="">Real Estate</label><br>
<label><input type="checkbox" name="typesoflicenses_c[]" value="7" id="typesoflicenses_c" title="">Enroller</label><br>
<label><input type="checkbox" name="typesoflicenses_c[]" value="8" id="typesoflicenses_c" title="">None</label><br>
</p>
Так что мне нужно добавить функцию OnClick к опции «нет» и вызвать функцию. Я задал вопрос:
A) Если я добавлю 'customCode' =>
в файл editviewdefs.php
для этого поля, он перепишет все поле тем, что я там разместил, и если я скопирую и вставляю все поле html в поле, то ничего не сохраняет в DetailView. Я просто хочу добавить в уже существующее html-поле.
Вот мой Javascript Файл:
//disable all other checkboxes if "none" is checked
function hideshowlicense(){
if (document.getElementsByName("typesoflicenses_c[]")[7].checked){
//Disable checkboxes
document.getElementsByName("typesoflicenses_c[]")[0].disabled=true;
document.getElementsByName("typesoflicenses_c[]")[1].disabled=true;
document.getElementsByName("typesoflicenses_c[]")[2].disabled=true;
document.getElementsByName("typesoflicenses_c[]")[3].disabled=true;
document.getElementsByName("typesoflicenses_c[]")[4].disabled=true;
document.getElementsByName("typesoflicenses_c[]")[5].disabled=true;
document.getElementsByName("typesoflicenses_c[]")[6].disabled=true;
//Uncheck any other checked options
document.getElementsByName("typesoflicenses_c[]")[0].checked=false;
document.getElementsByName("typesoflicenses_c[]")[1].checked=false;
document.getElementsByName("typesoflicenses_c[]")[2].checked=false;
document.getElementsByName("typesoflicenses_c[]")[3].checked=false;
document.getElementsByName("typesoflicenses_c[]")[4].checked=false;
document.getElementsByName("typesoflicenses_c[]")[5].checked=false;
document.getElementsByName("typesoflicenses_c[]")[6].checked=false;
}else{
document.getElementsByName("typesoflicenses_c[]")[0].disabled=false;
document.getElementsByName("typesoflicenses_c[]")[1].disabled=false;
document.getElementsByName("typesoflicenses_c[]")[2].disabled=false;
document.getElementsByName("typesoflicenses_c[]")[3].disabled=false;
document.getElementsByName("typesoflicenses_c[]")[4].disabled=false;
document.getElementsByName("typesoflicenses_c[]")[5].disabled=false;
document.getElementsByName("typesoflicenses_c[]")[6].disabled=false;
}
}
SUGAR.util.doWHEN("typeof($('#loa_c'))!= 'undefined'"), YAHOO.util.Event.addListener(YAHOO.util.Dom.get('loa_c'), 'change', dep);
SUGAR.util.doWHEN("typeof($('#typesoflicenses_c'))!= 'undefined'"), YAHOO.util.Event.addListener(YAHOO.util.Dom.get('typesoflicenses_c'), 'change', hideshowlicense);
Сейчас я получаю сообщение об ошибке в хромированной консоли и ничего не изменилось в HTML. Но если я подниму то же самое в firefox, ошибки не будет.
Here также является статьей, которую я прочитал о внесении изменений в поля, в которые вы вносили изменения, чтобы они сохраняли значение в подробном представлении.
все ваши варианты имеют одинаковый идентификатор. Это не допустимая разметка и, вероятно, является причиной вашей ошибки. Попытайтесь изменить идентификатор на класс для всех элементов и посмотреть, устранит ли это проблему –