добавление html в форму создания материала template.php

Главные вкладки

Лучший ответ

Комментарии

Аватар пользователя leha373 leha373 10 мая 2019 в 19:43

блин повторю
у меня есть вопрос?
А можно на страницу добавления материала вставить html код через template.php?
например: <span id="id" class="class"</span>и после какого нить поля?
Спасибо

Аватар пользователя ivnish ivnish 10 мая 2019 в 19:45
1

Я спрашиваю не просто так. Очень часто новички любят "надевать штаны через голову", потому что не умеют по другому. Напишите ЗАЧЕМ вам это нужно и я и другие участники сообщества попытаемся подсказать КАК ПРАВИЛЬНО это сделать

Аватар пользователя leha373 leha373 10 мая 2019 в 19:48
 function isEmail() {
    var str = document.getElementById("email").value;
    var status = document.getElementById("status");
    var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
    if (re.test(str)) status.innerHTML = "Адрес правильный";
      else status.innerHTML = "Адрес неверный";
    if(isEmpty(str)) status.innerHTML = "Поле пустое";
   }
   function isEmpty(str){
    return (str == null) || (str.length == 0);
   }

Да хочу добавить проверку,и в страницу надо вставить вот этот кусок
<span id="status"></span>
чтобы сообщения выводились

Аватар пользователя leha373 leha373 10 мая 2019 в 19:54

вот html

<label for="email">Адрес </label>
<input onclick="isEmail()" type="text" id="email" name="field_adress" value="" size="100" maxlength="255" class="form-text">

и нужно добавить<span id="status"></span>

Аватар пользователя ivnish ivnish 10 мая 2019 в 19:59

Тогда вам нужно использовать id этого поля, а не пытаться добавить какое-то новое.

Думаю, вам нужно "альтернуть форму". Смотрите https://api.drupal.org/api/drupal/modules%21system%21system.api.php/func... и примеры использования

Аватар пользователя leha373 leha373 10 мая 2019 в 20:12

я понимаю
вот сделал

function zen_form_alter(&$form, $form_state, $form_id) {

 if ($form_id == 'realty_node_form')
  {
         
          drupal_add_js('document.write("<" + "script type=\'text/javascript\' src=\'/sites/all/themes/zen/js/button.js\'><" + "/script>");', 'inline');
         
         
        $form['field_adress']['und']['0']['value']['#attributes'] = array(
    'onclick' => array('isEmail()'),
);

в скрипте есть поле для вывода сообщений
 var status = document.getElementById("status");
и как я понял нужно добавить еще разметку чтобы получилось

<label for="email">Адрес </label>
<input onclick="isEmail()" type="text" id="email" name="field_adress" value="" size="100" maxlength="255" class="form-text"<span id="status"></span>

и как мне добавть <span id="status"></span> на страницу