如果用户想要编辑上一屏幕上的某些文字,我会有一个用户定向的页面。一旦他们完成了对表单数据的编辑,就会将其提交给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并可能将空白的bodys输入数据库。我真的不知道该怎么做。
答案 0 :(得分:1)
页面上的提交按钮应该是一个只调用验证功能的虚拟按钮。然后提交just say 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
...
答案 1 :(得分:1)
我想要做的是通过javascript中的post方法提交表单,这是为了阻止用户关闭他们的javascript并可能输入空白
您实际需要的是服务器端(非客户端/ Javascript)验证,以防止“无效数据”(无论您定义它)被发送/保存到您的数据库。
如果Javascript在客户端(浏览器)上关闭,您的Javascript 无将运行,表单将POST(或GET)到您定义的任何操作(editPost.php)。您需要向editPost.php添加验证代码/处理