Подключение и конфликт js файлов [Решено]

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
nepster
Сообщения: 838
Зарегистрирован: 2013.01.02, 03:35

Подключение и конфликт js файлов [Решено]

Сообщение nepster »

В общем копаюсь в Yii2 и набрел на такую ситуацию:

Я разбил свой шаблон на части и есть часть head.php, где подключаются скрипты обычным образом:

Код: Выделить всё

...
<script type="text/javascript" src="/js/jquery.cookies.min.js"></script>
<script type="text/javascript" src="/js/jquery.form.js"></script>
<script type="text/javascript" src="/js/main.js"></script>
...

Далее мне понадобилось добавить форму на страницу:

Код: Выделить всё

<?php $form = ActiveForm::begin(['id' => 'contact-form']); ?>
  <?= $form->field($model, 'name') ?>
<?= $form->field($model, 'email') ?>
<?= $form->field($model, 'subject') ?>
<?= $form->field($model, 'body')->textArea(['rows' => 6]) ?>
<?= $form->field($model, 'verifyCode')->widget(Captcha::className(), [
     'template' => '<div class="row"><div class="col-lg-3">{image}</div><div class="col-lg-6">{input}</div></div>',
]) ?>
<div class="form-group">
   <?= Html::submitButton('Submit', ['class' => 'btn btn-primary', 'name' => 'contact-button']) ?>
</div>
<?php ActiveForm::end(); ?>
Так вот, когда подключается форма, она тянет за собой еще js скрипты, которые подключаются вниз сайта:

Код: Выделить всё

<script src="/assets/5ff4d296/jquery.js"></script>
<script src="/assets/28da076d/yii.js"></script>
<script src="/assets/28da076d/yii.validation.js"></script>
<script src="/assets/28da076d/yii.captcha.js"></script>
<script src="/assets/28da076d/yii.activeForm.js"></script>
<script type="text/javascript">jQuery(document).ready(function(){
jQuery('#contactform-verifycode-image').yiiCaptcha({"refreshUrl":"\/site\/captcha\/?refresh=1","hashKey":"yiiCaptcha\/site\/captcha"});
jQuery('#contact-form').yiiActiveForm({"name":{"validate":function(attribute, value, messages) {yii.validation.required(value, messages, {"message":"\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u00ab\u0424\u0418\u041e\u00bb."});},"name":"contactform-name","validateOnChange":true,"validateOnType":false,"validationDelay":200,"container":".field-contactform-name","input":"#contactform-name","error":".help-block"},"email":{"validate":function(attribute, value, messages) {yii.validation.required(value, messages, {"message":"\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u00abE-mail \u0430\u0434\u0440\u0435\u0441\u00bb."});yii.validation.email(value, messages, {"pattern":/^[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/,"fullPattern":/^[^@]*<[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?>$/,"allowName":false,"message":"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00abE-mail \u0430\u0434\u0440\u0435\u0441\u00bb \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c email \u0430\u0434\u0440\u0435\u0441\u043e\u043c.","enableIDN":false,"skipOnEmpty":1});},"name":"contactform-email","validateOnChange":true,"validateOnType":false,"validationDelay":200,"container":".field-contactform-email","input":"#contactform-email","error":".help-block"},"subject":{"validate":function(attribute, value, messages) {yii.validation.required(value, messages, {"message":"\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u00ab\u0422\u0435\u043c\u0430\u00bb."});},"name":"contactform-subject","validateOnChange":true,"validateOnType":false,"validationDelay":200,"container":".field-contactform-subject","input":"#contactform-subject","error":".help-block"},"body":{"validate":function(attribute, value, messages) {yii.validation.required(value, messages, {"message":"\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u00ab\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u00bb."});},"name":"contactform-body","validateOnChange":true,"validateOnType":false,"validationDelay":200,"container":".field-contactform-body","input":"#contactform-body","error":".help-block"},"verifyCode":{"validate":function(attribute, value, messages) {yii.validation.captcha(value, messages, {"hash":639,"hashKey":"yiiCaptcha\/site\/default\/captcha","caseSensitive":false,"message":"\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u0434."});},"name":"contactform-verifycode","validateOnChange":true,"validateOnType":false,"validationDelay":200,"container":".field-contactform-verifycode","input":"#contactform-verifycode","error":".help-block"}}, {"errorSummary":".error-summary","validateOnSubmit":true,"errorCssClass":"has-error","successCssClass":"has-success","validatingCssClass":"validating","ajaxParam":"ajax","ajaxDataType":"json"});
});</script>



И походу подключение 2 библиотеки jquery портит мне работу скриптов, которые были подключены выше. Подскажите пожалуйста как тут навести порядок ? Либо отключить подключение jquery либо как это проконтролировать?
Последний раз редактировалось nepster 2014.03.09, 13:31, всего редактировалось 1 раз.
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Подключение и конфликт js файлов

Сообщение SiZE »

подключай скрипты через clientScript, в частности jquery через registerCoreScript('jquery')

ЗЫ: И я один не вижу второй библиотке в приведенном коде?

P.S. Не обратил внимание что это Yii2
Последний раз редактировалось SiZE 2014.03.06, 11:42, всего редактировалось 1 раз.
Аватара пользователя
maleks
Сообщения: 1992
Зарегистрирован: 2012.12.26, 12:56

Re: Подключение и конфликт js файлов

Сообщение maleks »

head.php, где подключаются скрипты обычным образом
так нельзя. Сама jquery у вас ниже подключается, чем вот эти вами вручную прописанные.
Нужно подключать через это , с использованием depends
nepster
Сообщения: 838
Зарегистрирован: 2013.01.02, 03:35

Re: Подключение и конфликт js файлов [Решено]

Сообщение nepster »

большое спасибо, все получилось!
Ответить