我在html中有一个表单来验证用户输入。问题是即使在localhost上也需要花费大量时间才能跳转到“操作”页面。继承人的代码
<form action="Activity.php" method="GET" >
<div style="display:none">
<input type="text" id="chapter" name="chapter"/>
<input type="text" id="book" name="book"/>
<input type="text" id="activity" name="activity"/>
</div>
<input type="image" src="includes/file.png" onClick="return validateForm()" title="Create New Activity" >
</form>
validateForm的代码是:
function validateForm()
{
document.body.style.cursor='wait';
if(document.getElementById("book").value==null || document.getElementById("book").value==""
|| document.getElementById("chapter").value==null || document.getElementById("chapter").value=="")
{
document.body.style.cursor='default';
alert("You cannot create an activity at the selected location.");
return false;
}
var name=prompt("Please enter the New Activity Name","New Activity Name");
if (name==null || name=="")
{
document.body.style.cursor='default';
return false;
}
document.getElementById('activity').value=encodeURI(name);
return true;
}
如果我删除了上面函数中的提示,它会立即跳转到activity.php页面,但是如果我保留提示并询问活动名称,则需要很长时间才能加载所需的页面(可能会在表单中显示提交过程中断了提交过程,点击提示“确定”按钮后,提交再次开始!!不知道:S)在提交表单时,应该从用户那里获取输入的解决方案(快速解决方案)是什么?谢谢!
答案 0 :(得分:0)
此对象不存在:document.getElementById('activity')
答案 1 :(得分:0)
试试这个。
function validateForm()
{
document.body.style.cursor='wait';
if(document.getElementById("book").value || document.getElementById("chapter").value)
{
document.body.style.cursor='default';
alert("You cannot create an activity at the selected location.");
return false;
}
var name=prompt("Please enter the New Activity Name","New Activity Name");
if (name)
{
document.body.style.cursor='default';
return false;
}
//document.getElementById('activity').value=encodeURI(name);
return true;
}