我面临一个问题。我创建了一个表单,用户必须在其中输入候选人的详细信息并上传他/她的图像。问题是表单中有一个按钮,上面写着“单击以添加更多候选人”,因此当单击此按钮时,相同的表单应重新出现在名为“更多候选人”的部门下。现在要实现这一点,我应该怎么做?我想到的事情如下:
- 要在 javascript 中创建一个完全创建表单内容(即所有输入字段等)和
onclick
“单击以添加更多候选者”按钮的函数,请调用上述部门下的函数。我可以做到这一点,就像过去我做过与此非常相似的事情一样。但是,这一次我不认为再次创建整个表单是个好主意,因为我在两者之间编写了一个 PHP 函数来读取目录。 - 或者我的第二个想法是将表单代码写在一个名为 Candidate.php 的文件中,并使用 AJAX 调用该文件。这里的问题可能是我可能会再次调用整个表单(而我只想调用表单的内容,例如候选人姓名和其他内容)
我现在很困惑,非常感谢大家的帮助。提前致谢。
我的html代码:
<div id="candidateForm">
<table border="0">
<form method="post" action="formDetails.php" enctype="multipart/form-date">
<tr>
<td>Candidate Name:</td>
<td><input class="candidateForm" type="textbox" name="candidateName" placeholder="Candidate's Name"/></td>
</tr>
<tr>
<td>Enroll No:</td>
<td><input class="candidateForm" type="textbox" name="enrollNumber" placeholder="Enroll No"/></td>
</tr>
<tr>
<td>Candidate Image:</td>
<td><input class="candidateForm" type="file" name="candidateImage" placeholder="Select a Image"/></td>
</tr>
<tr>
<td>Cadidate Post:</td>
<?php
//This is the target folder that is going to be read.
$target="uploads/";
//I an using a directory function in PHP scandir() which scans tha contains of the give directory
$dir=scandir($target);
?>
<td>
<select name="candidatePost">
<option value="candidatePost" select="selected">---------Select---------</option>
<?php
foreach($dir as $folders)
{
//When we loop throung the target folder/directory we get this annoying two folder that is "." and ".." so just to rule then out i m using an IF condition
if($folders!="."&& $folders!="..")
//echo $folders;
echo "<option class='candidateForm' value=$folders>$folders</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>About The Candidate:</td>
<td><textarea name="aboutCandidate" cols="40" rows="5"></textarea></td>
</tr>
<div id="moreCandidates"> </div>
<tr>
<td></td>
<td><input type="button" value="Click To Add More Candidate"></input> </td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="candidateFormSubmit" value="Press Here To Submit The Details" onclick=""/></td>
</tr>
</form>
</table>
</div>