我正在尝试通过提交按钮插入一些代码。 总而言之,我希望这个按钮调用一个PHP函数来添加一段HTML代码。这是我的功能:
function ajouterStag(){
print_r('<form method="post" action="AjoutFormation.php">
<label>Nom d\'un stagiaire : </label><input type="text" name="ajoutStagiaireNom"/><br/>
<label>Mail du stagiaire : </label><input type="text" name="ajoutStagiaireMail"/><br/>
<label>Telephone du stagiaire : </label><input type="text" name="ajoutStagiaireTel"/><br/>
</form>');
}
以下是我如何使用它:
<h5>Et ses employés ?</h5>
<label>Nom d'un stagiaire : </label><input type="text" name="ajoutStagiaireNom"/><br/>
<label>Mail du stagiaire : </label><input type="text" name="ajoutStagiaireMail"/><br/>
<label>Telephone du stagiaire : </label><input type="text" name="ajoutStagiaireTel"/><br/>
<form method="post" action="AjoutFormation.php">
<?php ajouterStag(); ?> //Right there
<input type="submit" value="Ajouter un stagiaire"/>
</form>
结果,我只有两次相同的标签(你可以看到的树),我的按钮什么都不做。 我是PHP的初学者,不知道该怎么做。
你介意帮帮我吗?
答案 0 :(得分:1)
<强>更新强>
如果您想要重复其他表单元素,那么您应该使用 JavaScript 。这就像开始使用jQuery(一个很棒的JS库):
$(function () {
$(".add").click(function (e) {
e.preventDefault();
$(this).before('<label>Nom d\'un stagiaire : </label><input type="text" name="ajoutStagiaireNom"/><br/><label>Mail du stagiaire : </label><input type="text" name="ajoutStagiaireMail"/><br/><label>Telephone du stagiaire : </label><input type="text" name="ajoutStagiaireTel"/><br/><br/>');
});
});
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<h5>Et ses employés ?</h5>
<form method="post" action="AjoutFormation.php">
<label>Nom d'un stagiaire : </label><input type="text" name="ajoutStagiaireNom[]"/><br/>
<label>Mail du stagiaire : </label><input type="text" name="ajoutStagiaireMail[]"/><br/>
<label>Telephone du stagiaire : </label><input type="text" name="ajoutStagiaireTel[]"/><br/>
<br/><a href="#" class="add">Add Another Set</a><br/>
<input type="submit" value="Ajouter un stagiaire"/>
</form>
使用上述方法时,需要以数组方式将数据发送到服务器。像上面一样。有关所有输入元素,请参阅name
。
如果这是你想要的,请告诉我?
我正在尝试通过提交按钮插入一些代码。总而言之,我希望这个按钮调用一个PHP函数来添加一段HTML代码。
PHP是一种服务器端语言,在客户端代码呈现之前执行。这对于PHP是不可能的,但是您需要使用一些客户端编程语言,例如JavaScript。
为此,您只需加载隐藏表单元素的文件,然后单击按钮,即可使用JavaScript进行显示。
<h5>Et ses employés ?</h5>
<form method="post" action="AjoutFormation.php">
<div style="display: none;" id="hidform">
<label>Nom d'un stagiaire : </label><input type="text" name="ajoutStagiaireNom" /><br/>
<label>Mail du stagiaire : </label><input type="text" name="ajoutStagiaireMail" /><br/>
<label>Telephone du stagiaire : </label><input type="text" name="ajoutStagiaireTel" /><br/>
</div>
<a href="#" onclick="hidform.style.display = 'block'; return false;">Show Form</a><br/>
<input type="submit" value="Ajouter un stagiaire" />
</form>
答案 1 :(得分:-1)
首先从你的html中删除HTML,以便我们通过你的php函数来控制它。
删除它:
<h5>Et ses employés ?</h5>
<label>Nom d'un stagiaire : </label><input type="text" name="ajoutStagiaireNom"/><br/>
<label>Mail du stagiaire : </label><input type="text" name="ajoutStagiaireMail"/><br/>
<label>Telephone du stagiaire : </label><input type="text" name="ajoutStagiaireTel"/><br/>
其次更改您的<?php ajouterStag(); ?>
,以便检查按钮是否被点击。
所以它会变成<?php if(@$_POST) { ajouterStag(); } ?>
这样,显示HTML代码的功能只有在发布按钮时才会运行。
所以你的最终代码是:
<?php if(@$_POST) { ajouterStag(); } ?>
<form method="post" action="AjoutFormation.php">
<input type="submit" value="Ajouter un stagiaire"/>
</form>