public function __construct($prefixIdClass, $type = '', $oblig = false, $retour = '', $valeurParDefaut = '', $longueurMin = -1, $longueurMax = -1, $taille = -1, $tailleAuto = false, $unite = '', $info = '', $erreur = '', $formatValide = '', $min = NULL, $max = NULL, $niveau = '') { parent::__construct(BAL_DIV); GSession::PoidsJavascript(2); $this->AddClass('jq_fill'); if ($oblig == true) { $this->AddClass('jq_input_form_oblig'); } if ($tailleAuto === true) { $this->AddClass(INPUTTEXT_JQ_AUTOWIDTH); } $this->prefixIdClass = $prefixIdClass; switch ($type) { case INPUTTEXT_TYPE_NEW: $this->AddClass(INPUTNEWTEXT_JQ); break; case INPUTTEXT_TYPE_LISTE: $this->AddClass(LISTEINPUTTEXT_JQ); break; default: $this->AddClass(INPUTTEXT_JQ); } $elem = new SElement($this->prefixIdClass . INPUTTEXT . $niveau); $elem->AjouterClasse(INPUTTEXT . $niveau); $elem->AddClass(INPUTTEXT_JQ_EDIT); if ($type === INPUTTEXT_TYPE_PASSWORD) { $edit = new SInput('', 'password', '', $this->prefixIdClass . INPUTTEXT_VALEUREDIT); } else { if ($longueurMax === NULL && $formatValide !== INPUTTEXT_REGEXP_DECIMAL_FV) { $edit = new SText($this->prefixIdClass . INPUTTEXT_VALEUREDIT . $niveau, $valeurParDefaut); } else { $edit = new SInput('', 'text', '', $this->prefixIdClass . INPUTTEXT_VALEUREDIT . $niveau); } } $edit->AddClass(INPUTTEXT_VALEUREDIT . $niveau); $edit->AddClass(INPUTTEXT_JQ_EDITVAL); if ($valeurParDefaut !== '') { $edit->AddProp(PROP_VALUE, $valeurParDefaut); } else { $edit->AddProp(PROP_VALUE, '- null -'); } if ($longueurMax !== NULL && $longueurMax > 0) { $edit->AddProp(PROP_MAXLENGTH, $longueurMax); } if ($taille !== NULL && $taille > 0) { if ($longueurMax === NULL && $formatValide !== INPUTTEXT_REGEXP_DECIMAL_FV) { $edit->AddProp(PROP_ROWS, $taille); } else { $edit->AddProp(PROP_SIZE, $taille); } } else { if ($tailleAuto === true && $taille <= 0) { $edit->AddProp(PROP_SIZE, '1'); } } $org = NULL; if ($unite !== '') { $org = new SOrganiseur(1, 2); $org->AttacherCellule(1, 1, $edit); if ($taille === -1) { $org->SetCelluleDominante(1, 1); } $org->SetTexteCellule(1, 2, strval($unite)); } else { $org = $edit; } $elem->Attach($org); $this->Attach($elem); // Format valide et caractères valides (min et max quand nécessaires). switch ($formatValide) { case INPUTTEXT_REGEXP_EMAIL_FV: $caracteresValides = INPUTTEXT_REGEXP_EMAIL_CV; break; case INPUTTEXT_REGEXP_DECIMAL_FV: $caracteresValides = INPUTTEXT_REGEXP_DECIMAL_CV; $this->AddClass(INPUTTEXT_JQ_DECIMAL); if ($min !== NULL) { $divMin = new SBalise(BAL_DIV); $divMin->SetText(strval($min)); $divMin->AddClass(INPUTTEXT_JQ_MIN); $divMin->AddStyle('display:none;'); $this->Attach($divMin); } if ($max !== NULL) { $divMax = new SBalise(BAL_DIV); $divMax->SetText(strval($max)); $divMax->AddClass(INPUTTEXT_JQ_MAX); $divMax->AddStyle('display:none;'); $this->Attach($divMax); } break; case INPUTTEXT_REGEXP_TOUT_FV: default: $formatValide = INPUTTEXT_REGEXP_TOUT_FV; $caracteresValides = INPUTTEXT_REGEXP_TOUT_CV; if ($longueurMin === NULL) { $longueurMin = ''; } else { if ($longueurMin <= 0) { $longueurMin = 1; } } if ($longueurMax === NULL) { $longueurMax = ''; } else { if ($longueurMax <= 0) { $longueurMax = 1; } } $formatValide = str_replace('min', strval($longueurMin), $formatValide); $formatValide = str_replace('max', strval($longueurMax), $formatValide); break; } $divFV = new SBalise(BAL_DIV); $divFV->SetText(strval($formatValide)); $divFV->AddClass(INPUTTEXT_JQ_FV); $divFV->AddStyle('display:none;'); $this->Attach($divFV); if ($caracteresValides !== '') { $divCA = new SBalise(BAL_DIV); $divCA->SetText(strval($caracteresValides)); $divCA->AddClass(INPUTTEXT_JQ_CV); $divCA->AddStyle('display:none;'); $this->Attach($divCA); } // Retour. if ($retour !== '') { $divRetour = new SBalise(BAL_DIV); $divRetour->SetText(strval($retour)); $divRetour->AddClass(INPUTTEXT_JQ_RETOUR); $divRetour->AddStyle('display:none;'); $this->Attach($divRetour); } // Info. if ($info !== '') { $divInfo = new SBalise(BAL_DIV); $elemInfo = new SElement(CLASSCADRE_INFO, false); $elemInfo->SetText($info); $divInfo->AddClass(INPUTTEXT_JQ_INFO); $divInfo->Attach($elemInfo); $divInfo->AddStyle('display:none;'); $this->Attach($divInfo); } // Erreur. if ($erreur !== '') { $divErreur = new SBalise(BAL_DIV); $elemErreur = new SElement(CLASSCADRE_ERREUR, false); $elemErreur->SetText($erreur); $divErreur->AddClass(INPUTTEXT_JQ_ERREUR); $divErreur->Attach($elemErreur); $divErreur->AddStyle('display:none;'); $this->Attach($divErreur); } }