У меня простая форма, созданная с помощью joomla. У меня есть два поля для электронной почты:
echo $this->form->getLabel('email1'); echo $this->form->getInput('email1'); echo $this->form->getLabel('email2'); echo $this->form->getInput('email2');
Я пытаюсь заполнить эти поля, когда пользователь уже зарегистрирован, но у меня проблема. вот код:
$user = JFactory::getUser(); $login = false; if(!$user->get('guest')){ $login = true; $email = $user->email; } ... echo '<input type="text" name="jform[email1]" class="validate-email required" id="jform_email1" value="'.$email.'" size="30" required="required" aria-required="true" disabled/><br>'; echo '<input type="hidden" name="jform[email2]" class="validate-email required" id="jform_email2" value="'.$email.'" size="30" required="required" aria-required="true" disabled/>';
На выходе тип полей изменяется на
<input type="email" name="jform[email1]" class="validate-email required" id="jform_email1" value="mail@mymail.com" size="30" required="required" aria-required="true" disabled=""> <input type="email" name="jform[email2]" class="validate-email required" id="jform_email2" value="mail@mymail.com" size="30" required="required" aria-required="true" disabled="">
Я просто хочу отключить эти поля и скрыть второе поле
спасибо за помощь
Я нашел ответ, надеюсь, что это поможет кому-то:
echo $this->form->getLabel('email1'); $this->form->setValue('email1',null,$email); $this->form->setFieldAttribute( 'email1', 'readonly', 'true' ); echo $this->form->getInput('email1'); echo $this->form->getLabel('email2', array('style' => 'display:none;')); $this->form->setValue('email2',null,$email); $this->form->setFieldAttribute( 'email2', 'readonly', 'true' ); echo $this->form->getInput('email2', array('type' => 'hidden'));