我有一个网站有两个联系表单(一个是可用的模式,另一个是在页面的底部)。两种形式都具有相同的结构,例如相同的输入和名称等等,它们都具有相同的操作方法。两个联系表单,具有相同的动作而没有重复代码
我的问题是 - 我怎样才能在两个窗体上使用相同的操作方法,其中$ _POST变量依赖于提交的窗体?例如,如果我填写第二个联系表单,该操作将从第一个联系表单中获取数据。
我认为有一种方法是给这两种形式不同的id例如firstForm和secondForm,然后将表单的id作为参数传递给action方法。虽然这可以工作,但我不确定它是否是一种有效的方式,或者是否有更简单的方法?
我完全忽略了这样一个事实,即我实际上可以创建两个独立的操作方法,但这只是荒谬的,而且我知道我只需要一个操作方法来为这两种表单提供冗余编程,但我只是不知道如何正确实施它。
这是第一个:
<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Flick me an email!</h3>
<p>I will get back to you ASAP!</p>
</div>
<div class="modal-body">
<div class="status alert alert-success" style="display: none"></div>
<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="assets/php/sendemail.php">
<div class="form-group"><input class="form-control required" type="text" name="name" placeholder="Name" data-placement="top"></div>
<div class="form-group"><input class="form-control email" type="email" name="email" placeholder="[email protected]" data-placement="top" ></div>
<div class="form-group"><textarea class="form-control" name="message" placeholder="Your message here.." data-placement="top" style="height: 200px;" ></textarea></div>
<div class="form-group"><button type="submit" id="modal-submit" class="btn btn-danger btn-lg">Send Message</button><button class="btn" data-dismiss="modal" aria-hidden="true" style="float: right;">Cancel</button> </div>
</form>
</div>
</div>
</div>
</div>
,第二个:
<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="assets/php/sendemail.php">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<input type="text" name="name" class="form-control" required="required"
placeholder="Name">
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<input type="email" name="email" class="form-control" required="required"
placeholder="Email address">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<textarea name="message" id="message" required="required" class="form-control"
rows="8" placeholder="Message"></textarea>
</div>
<div class="form-group">
<button type="submit" id="submit" class="btn btn-danger btn-lg">Send Message
</button>
</div>
</div>
</div>
</form>
从当一个提交将与一些JavaScript的其它形式获取数据最简单的方法。 – wogsland
说我提交第二个表单,操作方法是扫描整个DOM寻找名为'名称'的任何输入,它从第一个实例抓取它,当然这是第一个形式 – AnonDCX
两种形式是完全相同的 - 相同的输入字段具有相同的名称。如果我提交第二个表单,action方法从第一个表单获取数据,这就是为什么我假设它为'posted'变量的第一个实例扫描DOM – AnonDCX