Я искал и пытался работать над этим какое-то время, но то, как моя компания делает что-то, заставляет его быть излишне сложным для меня. На работе я много работаю над внутренней клиентской системой, которую мы полностью редактируем в HTML с помощью AngularJS. Мы можем запускать скрипты локально в этих файлах HTML, но не можем получить доступ к $ scope в наших функциях.
У меня есть поле ввода, как показано ниже, и мне нужно его, чтобы ограничить номер телефона до 10 цифр и автоматически удалить любое числовое значение. Что я делаю до сих пор, так это.
В начале HTML-файла, сценариев:
<script language = "javascript" type = "text/javascript">
\t fixPhoneNumber = function(interviewProperty) {
\t \t \t \t \t var cleaned = iData[interviewProperty]
\t \t \t \t \t cleaned = cleaned.replace(/\D/g,'');
\t iData[interviewProperty] = cleaned;
\t \t \t \t \t console.log(testing testing testing);
\t }
</script>
и в самих данных, это то, как я пытаюсь вызвать данные. Я отвечу на любые вопросы, если я не достаточно конкретный, но я думаю, что здесь все показано.
<button id="copyDP" class="copyButton" ng-click="copy_cust_data('phone', 'local_dir_ad_phone');" type="button">Copy Customer Phone</button><br/>
<input id="local_dir_ad_phone" type="text" class="k-textbox spellcheck" style="width:100%;" ng-change="fixPhoneNumber('local_dir_ad_phone')" ng-required="iData.site_addr_phone_same==='YES'" ng-model="iData.local_dir_ad_phone" /><br/>
<span class="error" ng-show="(iData.local_dir_ad_phone==undefined) || (iData.local_dir_ad_phone==='')">This information is required.</span>
<br/>
<ul>
\t <li>Is this also the best number for us to reach you at?
\t \t <ul>
\t \t \t <input id="contact_phone_good" type="radio" ng-model="iData.contact_phone_good" value="YES" /> <b>Yes</b><br/>
\t \t \t <input id="contact_phone_good" type="radio" ng-model="iData.contact_phone_good" value="NO" /> <b>No</b><br/>
\t \t \t <div ng-show="iData.contact_phone_good==='NO'">
\t \t \t \t <ul>
\t \t \t \t \t <li>What is the best number for us to reach you at? <span id="usernote">(Update Prospector Customer record with best contact number)</span></li>
\t \t \t \t </ul>
\t \t \t </div>
\t \t </ul>
\t </li>
</ul>
Значение Я ищу, что изменилось, так это «local_dir_ad_phone», как это уже имеет нг-изменение применяется в данном примере. Возможно, есть причина, по которой ng-change фактически не выполняет свою функцию каждый раз, когда было сделано изменение? От чтения API я чувствую, что он должен запускать его при каждом изменении, сделанном в реальном времени.
Любая помощь приветствуется. Благодаря!
Не выполняется или вы не изменяете изменения? – Jorg
все изменения в коде попадают на сервер, но он не выполняется, я могу свободно печатать буквы и не отменять их или удалять. –
, но пульт console.log срабатывает. вы можете получить доступ к области действия через директиву, если можете добавить это. – Jorg