Gir*_*iri 2 html javascript php forms triggers
我有这样的表格
<form action="formprocess1.php">
<input type="text" name="firstname">
<input type="text" name="email">
<input type="checkbox" name="newsletter" value="1">
<input type="submit" name="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
如果在第一个表单上选中了复选框,我想触发另一个表单
<form action="newsletter.php">
<input type="text" name="firstname">
<input type="text" name="email">
<input type="submit" name="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
谁能给我一些PHP代码或javascript代码来自动触发它?谢谢
您不能一次触发两个表单,因为您只能一次向PHP页面发送一个请求,除非您使用的是AJAX.
这里的解决方案是隐藏第二个表单,除非附加了复选框,并在选中复选框时将其显示为第一个表单的一部分.
您是否希望我演示如何做到这一点?
更新
在更改复选框状态时显示/隐藏新闻稿表单:
HTML:
<form>
<input type="text" name="firstname">
<input type="text" name="email">
<input type="checkbox" name="newsletter" value="1">
<div id="newsletter" style="display:none;">
<input type="text" name="news-firstname">
<input type="text" name="news-email">
</div>
<input type="submit" name="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
Javascript(jQuery):
// Set the onchange event for the checkbox
$('input[name="newsletter"]').change(function(){
// Test is checkbox is checked
if($(this).is(':checked')){
// If it is checked then show the newsletter
$('#newsletter').show();
}else{
// If it is not checked then hide the news letter
$('#newsletter').hide();
}
})
Run Code Online (Sandbox Code Playgroud)
我没有测试过上面但它应该可以工作,如果有任何错误,请告诉我,我会修复它们.我已经明确提出意见来解释每个步骤的作用.
在PHP脚本中,您必须进行测试以查看是否选中了复选框,然后进行相应的验证.否则,您将始终收到新闻通讯信息.仅仅因为它们被隐藏并不意味着它们没有被提交.
我建议将两个单独的PHP脚本合并到一个文件中,这将使您更加简单.
另一种选择是AJAX,它稍微复杂一点,但是现在越来越多的人正在使用它,这是一种很好的做法.如果您想看一个这样的例子,请告诉我.
归档时间: |
|
查看次数: |
1676 次 |
最近记录: |