使用javascript动态创建表单时传递表单信息

使用javascript动态创建表单时传递表单信息,javascript,Javascript,我试图通过动态创建的表单传递用户名和密码,但它没有这样做。这是JS。只有当url包含某些url词干(location.pathname…第三个“if”语句)时,才会动态创建表单。有什么想法吗?这快把我逼疯了 function PostToAccountManagement() { var userName = $('#Username').val(); var passWord = $('#Password').val(); if (userName == "")

我试图通过动态创建的表单传递用户名和密码,但它没有这样做。这是JS。只有当url包含某些url词干(location.pathname…第三个“if”语句)时,才会动态创建表单。有什么想法吗?这快把我逼疯了

function PostToAccountManagement() {
    var userName = $('#Username').val();
    var passWord = $('#Password').val();

    if (userName == "")
        $('#UsernameError').html('Please enter a valid username');
    else
        $('#UsernameError').html('');

    if (passWord == "")
        $('#PasswordError').html('Please enter a valid password');
    else
        $('#PasswordError').html('');

    if (location.pathname.search(/\/info/i) == 0 ||
        location.pathname.search(/\/blogs/i) == 0 ||
        location.pathname.search(/\/groups/i) == 0 ||
        location.pathname.search(/\/askquestion/i) == 0) {
            $('<form id="Form1"> </form>').prependTo('body');
            if (userName != "" && passWord != "") {
                document.cookie = "ReturnUrl" + "=" + window.location.href;
                $('#Form1').eq(0).attr('action', '/account/logon');
                $('#Form1').eq(0).attr('method', 'post');
                $('#Form1').submit();
            }
    }
    if (userName != "" && passWord != "") {
        document.cookie = "ReturnUrl" + "=" + window.location.href;
        $('#Form1').eq(0).attr('action', '/account/logon');
        $('#Form1').eq(0).attr('method', 'post');
        $('#Form1').submit();
    }

}
函数PostToAccountManagement(){
var userName=$('#userName').val();
var passWord=$('#passWord').val();
如果(用户名==“”)
$('#UsernameError').html('请输入有效的用户名');
其他的
$('#UsernameError').html('');
如果(密码==“”)
$('#PasswordError').html('请输入有效密码');
其他的
$('#PasswordError').html('');
if(location.pathname.search(/\/info/i)=0||
location.pathname.search(/\/blogs/i)==0||
location.pathname.search(/\/groups/i)=0||
location.pathname.search(/\/askquestion/i)==0){
$('').prependTo('body');
如果(用户名!=“”&密码!=“”){
document.cookie=“ReturnUrl”+“=”+window.location.href;
$('#Form1').eq(0).attr('action','/account/logon');
$('#Form1').eq(0).attr('method','post');
$('表格1')。提交();
}
}
如果(用户名!=“”&密码!=“”){
document.cookie=“ReturnUrl”+“=”+window.location.href;
$('#Form1').eq(0).attr('action','/account/logon');
$('#Form1').eq(0).attr('method','post');
$('表格1')。提交();
}
}

首先是在第三个“if”中创建的表单。看起来您已经有一个id为“Form1”的表单,这不太好


第二,当第三个“如果”被触发时,您无法获得用户名和密码,因为您提交的表单没有这样命名的元素,实际上它没有。请尝试添加至少一些正确命名的隐藏输入。

谢谢,这样做是因为包含这些url词干的页面没有表单,因此我会为这些特定的页面动态创建表单。我看看能不能在里面放一些输入字段。谢谢