我正在尝试在HTML中更改表单操作,然后使用javascript提交。
条件是PHP。
如果有人可以帮助我,我需要帮助。
这是我的PHP函数: -
<?php
error_reporting(0);
if(isset($_POST['email'])){
$email=$_POST['email'];
if(!empty($email)) {
$chrono = 0;
} else {
$chrono = 1;
}
}
?>
PHP的动机是检查空电子邮件条目。
这是javascript函数: -
<script type="text/javascript">
function fireform(val){
// missing codes
document.forms["demoform"].action=val;
document.forms["demoform"].submit();
}
// missing codes
</script>
HTML: -
<form name="demoform" action="">
<input type ="text" name="name" id="name">
<input type="hidden" name="buttonpressed" id="buttonpressed">
<input type="button" value="submit B" onclick="fireform('b')">
我想以某种方式执行此操作,当用户输入空电子邮件时,PHP会将其读作chrono = 0
。
然后转到javascript,如果chrono等于0,则操作将保持为空。
如果chrono = 1,则javascript将更改表单的操作并提交。
我需要帮助谢谢。
答案 0 :(得分:1)
您的流程尚不清楚:您似乎想要从PHP更改表单操作,但在表单提交后会触发PHP。所以你的流程中有一些奇怪的东西。您的标记中似乎也没有名为电子邮件的字段。添加它(或重命名字段name
):
<input type="text" name="email" id="email">
尽管如此,有一个空行动意味着表格将被提交给页面本身。
您可能需要的是电子邮件字段的客户端验证。在fireform()
JavaScript函数中,只需添加对电子邮件字段的检查:
function fireform(val){
if (document.forms["demoform"].email.value.length > 0){
document.forms["demoform"].action = val;
document.forms["demoform"].submit();
}
}
这应该足以满足您的需求。
答案 1 :(得分:0)
我建议在javascript中检查电子邮件字段(为空),当您设置了正确的操作时,请在javascript中提交表单。
检查字段:
$('#<enter id of field>').val();
更新动作:
$('form').attr('action', 'Enter your updatet action here');
提交表格: