通过javascript提交表单

时间:2012-03-24 20:00:57

标签: javascript mysql html-form

如果用户想要编辑上一屏幕上的某些文字,我会有一个用户定向的页面。一旦他们完成了对表单数据的编辑,就会将其提交给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输入数据库。我真的不知道该怎么做。

2 个答案:

答案 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添加验证代码/处理