Mazeltov
Mazeltov

Reputation: 551

Fill joomla's form field

i have a simple form made with joomla. I have two fields for email:

echo $this->form->getLabel('email1');
echo $this->form->getInput('email1');

echo $this->form->getLabel('email2');
echo $this->form->getInput('email2');

i'm trying to fill those fields when the user is allready logged in, but i have a issue. here is the code:

$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/>';

In the output, the fields's type change to

<input type="email" name="jform[email1]" class="validate-email required" id="jform_email1" value="[email protected]" size="30" required="required" aria-required="true" disabled="">
<input type="email" name="jform[email2]" class="validate-email required" id="jform_email2" value="[email protected]" size="30" required="required" aria-required="true" disabled="">

I just want to disabled those fields and hide the second field

Thank you for your help

Upvotes: 0

Views: 1677

Answers (1)

Mazeltov
Mazeltov

Reputation: 551

I found the answer, hope that will help someone:

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'));

Upvotes: 1

Related Questions