HTML表单的onSubmit属性中使用的简单PHP脚本到JavaScript函数
我已经被困在这几个小时了。我只需要在其中一个输入等于PHP echo时提交表单 将脚本简化为如下内容:HTML表单的onSubmit属性中使用的简单PHP脚本到JavaScript函数,javascript,php,html,onsubmit,Javascript,Php,Html,Onsubmit,我已经被困在这几个小时了。我只需要在其中一个输入等于PHP echo时提交表单 将脚本简化为如下内容: <head> </head> <body> <?php $A = rand(0,10); $B = rand(0,10); $C = $A + $B; ?> <script type="text/javascript"> function ValidateForm() { if (form1.name.va
<head>
</head>
<body>
<?php
$A = rand(0,10);
$B = rand(0,10);
$C = $A + $B;
?>
<script type="text/javascript">
function ValidateForm() {
if (form1.name.value == '') {alert ('Must say your name'); return false; }
if (form1.result.value != <?php echo $C ?>) {alert ('Result must be Equal'); return false; }
return false;}
else {return true;}
</script>
<form name="form1" method="post" action="Another.php" onSubmit="return ValidateForm();">
Name: <input type="Text" name="name" size="40">; <br>
Solve: <?php echo $A; ?> + <?php echo $B; ?>;
<input type="number" name="result" min="0"/>
<input type="Submit" name="send" value="Send">
</form>
函数ValidateForm(){
如果(form1.name.value=''){alert('Must say your name');返回false;}
if(form1.result.value!=){alert('result必须相等');返回false;}
返回false;}
else{return true;}
姓名:
求解:+;
所有这些(简单版本)都保存在一个.PHP文件中
我知道JS脚本将在.HTML文件中运行,但PHP不会
我能做些什么来让它工作?我想我应该将PHP或JS脚本放到另一个文件中,但是如何将所有文件相互连接呢
嗯。。。它现在起作用了。。。出于某种原因。。。这是实际代码: 这个想法是为老年人制作一个非常简单的验证码;该网站将为不超过100名老年人提供服务
<?php
$A = rand(0,10);
$B = rand(0,10);
$C = $A+$B;
?>
<script type="text/javascript">
function ValidarFormulario() { // pon atención al atributo 'onSubmit'
if (formula1.nombre.value == '') {alert ('Debe ingresar su nombre'); return false; }
if (formula1.ciudad.value == '') {alert ('Debe ingresar su ciudad'); return false; }
if (formula1.fono.value == '') {alert ('Debe ingresar su teléfono'); return false; }
if (formula1.email.value == '') {alert ('Debe ingresar su e-Mail'); return false; }
if (formula1.respuesta.value != <?php echo $C ?>) {alert('Result must be Equal'); return false; }
else {return true;}
}
<form name="formula1" method="post" action="registro.php" onSubmit="return ValidarFormulario();">
// some form forms inputs here
CAPTCHA: ¿Cuánto es <?php echo $A; ?> + <?php echo $B; ?>?
Su respuesta: <input type="number" name="respuesta" min="0" max="20" size="2" />
函数ValidarFormulario(){//pon atención al atributo'onSubmit'
if(formula1.nombre.value=''){alert('Debe ingresar su nombre');返回false;}
if(formula1.ciudad.value=''){alert('Debe ingerar su ciudad');返回false;}
if(formula1.fono.value=''){alert('Debe ingresar su teléfono');返回false;}
if(formula1.email.value=''){alert('Debe-ingresar su-email');返回false;}
if(formula1.respuesta.value!=){alert('结果必须相等');返回false;}
else{return true;}
}
//这里有一些表单输入
验证码:?Cuánto es+?
苏瑞斯佩斯塔:
出于某种原因,它现在正在工作。至少我知道JS在PHP文件中工作(这里是业余水平)
谢谢你的回答 您的JavaScript无效,请正确设置代码格式,这就是它的外观
function ValidateForm() {
if (form1.name.value == '') {
alert('Must say your name');
return false;
}
if (form1.result.value != <?php echo $C ?>) {
alert('Result must be Equal');
return false;
}
return false;
} else {
return true;
}
函数ValidateForm(){
如果(form1.name.value==''){
警惕(“必须说出你的名字”);
返回false;
}
如果(form1.result.value!=){
警报(“结果必须相等”);
返回false;
}
返回false;
}否则{
返回true;
}
如果您查看JavaScript控制台,就会看到错误
未捕获的SyntaxerError:意外标记else
修复代码后,函数会提前关闭,并且会有一个随机else和一个随机返回。正确的格式可以让您看到结构
function ValidateForm() {
if (form1.name.value == '') {
alert('Must say your name');
return false;
} else if (form1.result.value != <?php echo $C ?>) {
alert('Result must be Equal');
return false;
} else {
return true;
}
}
函数ValidateForm(){
如果(form1.name.value==''){
警惕(“必须说出你的名字”);
返回false;
}else if(form1.result.value!=){
警报(“结果必须相等”);
返回false;
}否则{
返回true;
}
}
您的条件逻辑中有一个错误。您的JavaScript应该如下所示:
function ValidateForm() {
if (form1.name.value == '') {
alert('Must say your name');
return false;
}
else if (form1.result.value != <?php echo $C ?>) {
alert('Result must be Equal');
return false;
}
else {
return true;
}
}
函数ValidateForm(){
如果(form1.name.value==''){
警惕(“必须说出你的名字”);
返回false;
}
else if(form1.result.value!=){
警报(“结果必须相等”);
返回false;
}
否则{
返回true;
}
}
请检查解决方案我通常使用php验证表单数据:如果(空($\u POST[“name”]){echo“您需要一个名称!”}否则{$name=$\u POST[“name”];}
机器人程序将直接提交表单而不使用javascript。我建议将变量存储在会话中,并检入PHP。cod样式有很多改进:使用小写而不是驼峰大小写(例如,onSubmit
);将JS与HTML/PHP代码分开;使用小写变量、HTML属性和文件名;缺少
标记和doctype缺少一些内容。检查并与给出的其他答案进行比较。@epascarello您是否因为我缺少最后一个括号而否决了我的投票,并用添加的括号重新发布了我的答案?这件事已经过去一段时间了,所以我可能已经忘记了,但这似乎是一个廉价的举动,而不仅仅是在我的帖子上发表评论。