我试图通过动态创建的表单传递用户名和密码,但它没有这样做。这是JS。动态创建的表单只有在url包含某些url词干(location.pathname ... 3rd“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();
}
}
答案 0 :(得分:0)
首先在第3个“if”中创建的表单。看起来你已经有一个id为“Form1”的表单,这不太好。
其次,当第3个“if”被触发时,你无法获得用户名和密码,因为你提交的表单没有这样命名的元素,它实际上没有。尝试添加至少一些正确命名的隐藏输入。