J'apprends à créer mon propre module sur Joomla. MyModule mod_planejamentomensal.php est comme ceci:
//No direct access
defined('_JEXEC') or die;
require_once dirname(__FILE__) . '/helper.php';
Jhtml::_('jquery.framework');
Jhtml::_('jquery.ui');
JHtml::_('behavior.formvalidator');
JHtml::script(JURI::base() . '/modules/mod_planejamentomensal/js/jquery-3.3.1.js');
JHtml::script(JURI::base() . '/modules/mod_planejamentomensal/js/jquery.mask.js');
default.php a ma forme (avec quelques autres fichiers et jQuery, j'en copie une partie ici pour que ce ne soit pas trop long):
<div class="planj-mensal-form">
<form method="post" name="frmCasdastra" class="form-validate" action="<?php JURI::base() . '/modules/mod_planejamentomensal/tmpl/adicionaForm.php' ?>">
<div class="divTable">
<div class="divTableRow">
<div class="divTableColumn">
<b>Solicitação nº:</b> <?php //echo $solicitacaoTemp; ?>
</div>
</div>
<div class="divTableRow">
<div class="divTableColumn divTableColumn1">
<b>Agência:</b> <?php echo $grupo; ?>
</div>
<div class="divTableColumn divTableColumn2">
<div class="divLabel"><label for="mes">Mês Referência:</label></div>
<div class="divInput">
<select name="mes">
<?php
$select = $planMensal->setSelect($mes, 'mes', date('m',strtotime('+1 month')));
echo $select;
?>
</select>
</div>
</div>
</div>
<div class="divTableRow">
<div class="divtableColumnBotao">
<div class="divInput">
<input name="add" type="button" value="Adicionar mais um formulário" id="add">
</div>
</div>
</div>
</div>
</form>
</div>
Ainsi, mon action de formulaire ci-dessus pointe vers adicionaForm.php qui ressemble à:
<?php
defined('_JEXEC') or die;
$input = new JInput;
$teste = $input->get('mes',null);
echo "Show: ".$teste;
?>
Mais lorsque je clique sur le bouton de soumission, rien ne se passe ... Je sais qu'il doit y avoir quelque chose sur Joomla que je fais mal. J'ai essayé de lire la documentation pour les formulaires mais je n'y comprenais pas grand chose. Quelqu'un peut-il me donner un indice s'il vous plaît?
Remplacez type="button"
Par type="submit"
.
Les éléments
<input type="button">
N'ont pas de comportement par défaut (leurs cousins,<input type="submit">
Et<input type="reset">
Sont utilisés pour soumettre et réinitialiser des formulaires, respectivement). Pour que les boutons fassent n'importe quoi, vous devez écrire du code JavaScript pour faire le travail.
et
Remarque: Bien que les éléments
<input>
De type "bouton" soient toujours parfaitement valables en HTML, l'élément<button>
Le plus récent est désormais le moyen privilégié de créer des boutons. Etant donné que le texte de l’étiquette de<button>
Est inséré entre les balises d’ouverture et de fermeture, vous pouvez inclure du code HTML dans l’étiquette, même des images.