gpt4 book ai didi

php - javascript 函数在特定情况下不返回值

转载 作者:行者123 更新时间:2023-11-28 09:31:34 25 4
gpt4 key购买 nike

我有一个 php 示例脚本,验证是使用 javascript 完成的。我正在通过单击按钮使用 ajax 脚本生成输入框。当我单击“提交”时,它会检查所有框是否已填写。 我正在使用 for 循环验证这些框。当盒子为空时,它会正确发出警报,而对于相同的情况,我将返回 false。但问题是,当所有框都填满时,它不会返回任何内容,并且即使我为此条件返回 true,该函数也会停止工作。我的带有函数的 JavaScript 代码如下所示

function addInput(){
var xmlhttp;

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var result = xmlhttp.responseText;


var newElem = document.createElement ("div");
newElem.innerHTML = result;
newElem.id = "input";

var container = document.getElementById ("main");
container.appendChild (newElem);

}

}
xmlhttp.open("GET","insert.php",true);
xmlhttp.send();
}

var count = '<?php echo $_SESSION['z']; ?>'

function check(){
function validate()
{
for(var i=1; i<=count+10; i++)
{
if(document.getElementById("text"+i+"").value == "")
{
alert("Please Enter Start Date For Sales Promotion");
document.getElementById("text"+i+"").focus();
return 'false';
}
}
return 'abc';
}

var flag = validate();
if(flag != 'false')
{
alert("correct");
}
}

我的html代码如下所示

<form method="post" action="save.php">
<div id="main">
<div id="input1">
Enter Name </br></br>
<input type="text" id="text1" />
<?php $_SESSION['z'] = 2; ?>
</div>
</div>
</br>
<input type="button" value="add another" onclick="addInput()" />
<input type="button" value="Submit" onclick="check()" />
</form>
<div id="display"></div>

我的ajax代码如下所示

 <?php
session_start();
$q = $_SESSION['z'];

?>

Enter Name </br></br>
<input type="text" id="text<?php echo $q; ?>" />

<?php $q = $q + 1;
$_SESSION['z'] = $q;

?>

问题是当所有字段都填满时,它不会返回任何内容。

最佳答案

这种情况可能会发生很多,而且根据所使用的浏览器,click事件和submit事件会同时被调用,这是不安全的(例如,在IE中,如果你的submit按钮调用了另一个submit函数,表单将提交两次...)

您应该将检查函数连接到表单的 onBeforeSubmit 事件。

关于php - javascript 函数在特定情况下不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13659581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com