我有一个页面,如果用户想要编辑上一个屏幕上的某些文本,他们会被定向到该页面。一旦他们完成编辑表单数据,就会将其提交给 JavaScript 进行验证,这就是表单:
<form id='editpost' action='' method='post' >
Your Post:<br/>
<input type='hidden' name='' value='""'>
Title: <input type='text' name='' value='""'/><br/>
<textarea name='' cols='100' rows='100'>""</textarea>
<br/><input type=submit value='Submit' name='' onclick='return validate(document.forms[0]);'><input type=submit value='Cancel' name=''>
</form>
}
我使用 javascript 检查在相应框中输入的值:
<script type="text/javascript">
function validate(F) {
var post = F;
var title = F;
post = post.trim();
title = title.trim();
if(post.length == 0) {
alert("This is blank");
return false;
}
else {
if(title.length == 0) {
var agree=confirm("Really?");
if (agree) {
return true;
}
else {
return false;
}
}
return true;
}
}
当表单最终提交时,mysql 数据库中的一些数据将使用表单中的数据进行更新,并且用户将被重定向到页面进行查看。我想要做的是通过 javascript 中的 post 方法提交表单,这是为了阻止用户关闭他们的 javascript 并可能将空白正文输入到数据库中。我真的不知道该怎么做。
最佳答案
页面上的提交按钮应该是一个虚拟按钮,仅调用您的验证函数。然后提交只需说 document.getElementById('editpost').submit();从你的代码。 (如果我记不住,你可以尝试在提交时将 S 大写)
希望这有帮助。
编辑:
<form id='editpost' action='editPost.php' method='post' >
...
<br/><input type=button value='Submit' name='alterPost' onclick='validateForm(document.forms[0]);'><input type=submit value='Cancel' name='no'>
</form>
然后在你的 JavaScript 中,而不是返回一个值
...
// if it's valid
F.submit();
...
// if it's not valid
// show the user a message explaining why
...
关于javascript - 通过 javascript 提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9855077/