产品使用及交流论坛
chaikm - 2021/12/23 10:38:18
<input type="text" id="username" style="position:fixed;bottom:-9999px" />
<input type="password" id="password" style="position:fixed;bottom:-9999px" />
<el-form-item v-show="!formData.SmsLogin">
<el-input v-model.trim="formData.Account" autocomplete="off" placeholder="用户名/邮箱/手机号" maxlength="50" v-validate="{data:formData.Account,dataType:'*',nullMsg:'请填写登录账号',ignore:formData.SmsLogin==1}"></el-input>
<span class="help-block validate-tips-box"></span>
</el-form-item>
<el-form-item v-show="!formData.SmsLogin">
<el-input type="password" v-model.trim="formData.Password" autocomplete="off" placeholder="登录密码" maxlength="50" v-validate="{data:formData.Password,dataType:'password',nullMsg:'请填写登录密码',ignore:formData.SmsLogin==1}"></el-input>
<span class="help-block validate-tips-box"></span>
</el-form-item>
html中加上id, js也写了
var userID = document.getElementById("username");
var passWD = document.getElementById("password");
var s_form = document.getElementById("loginForm");
userID.setAttribute("value",userName);
passWD.setAttribute("value",Password);
看见输入框中有用户名和密码填上,点登录按钮,显示用户名和密码没有输入,这是为什么呢?
chaikm - 2021/12/23 10:40:26
html改进为
<input type="text" id="username1" style="position:fixed;bottom:-9999px" />
<input type="password" id="password1" style="position:fixed;bottom:-9999px" />
<el-form-item v-show="!formData.SmsLogin">
<el-input v-model.trim="formData.Account" autocomplete="off" placeholder="用户名/邮箱/手机号" maxlength="50"
v-validate="{data:formData.Account,dataType:'*',nullMsg:'请填写登录账号',ignore:formData.SmsLogin==1}" id="username"></el-
input>
<span class="help-block validate-tips-box"></span>
</el-form-item>
<el-form-item v-show="!formData.SmsLogin">
<el-input type="password" v-model.trim="formData.Password" autocomplete="off" placeholder="登录密码"
maxlength="50" v-validate="{data:formData.Password,dataType:'password',nullMsg:'请填写登录密码',ignore:formData.SmsLogin==1}"
id="password"></el-input>
<span class="help-block validate-tips-box"></span>
</el-form-item>
js改进为
var userID = document.getElementById("username");
var passWD = document.getElementById("password");
var userID1 = document.getElementById("username1");
var passWD1 = document.getElementById("password1");
var s_form = document.getElementById("loginForm");
userID.setAttribute("value",userName);
passWD.setAttribute("value",Password);
userID1.setAttribute("value",userName);
passWD1.setAttribute("value",Password);
chaikm - 2021/12/23 10:44:44
xiyou - 2021/12/23 10:59:45
用vue代码写,原生js触发不了vue的v-model的数据双向绑定
可以在vue的created方法中赋值
或者直接通过js去修改formData对象的属性值
var formData = {SmsLogin:false,Account:"",Username:"",Password:"",Mobile:"",SmsCode:"",VerificationCode: "", SaveCookie: false };
chaikm - 2021/12/23 11:41:56
function mySubmit(userName, Password)
{
var vm = new Vue({
el: '#loginForm',
data: {
username1: userName,
password1: Password,
username: userName,
password: Password,
},
}
})
}
chaikm - 2021/12/23 11:42:57
用vue了,不知道怎么触发created,这是html加载完成后执行,不知道怎么弄
xiyou - 2021/12/23 11:56:01
最简单就是直接修改 formData 属性值,页面中有一个全局 formData 变量,直接通过js修改里面属性值就可以
chaikm - 2021/12/23 12:07:02
请财务插件支持4.0.8版本吗?如果支持的话,我还是还原到升级前的版本
chaikm - 2021/12/23 12:15:20
chaikm - 2021/12/23 12:16:22
function mySubmit(userName, Password)
{
var userID = document.getElementById("username");
var passWD = document.getElementById("password");
var userID1 = document.getElementById("username");
var passWD1 = document.getElementById("password");
// var s_form = document.getElementById("loginForm");
userID.setAttribute("value",userName);
passWD.setAttribute("value",Password);
userID1.setAttribute("value",userName);
passWD1.setAttribute("value",Password);
// alert("stop");
// subbtn.click();
// s_form.submit();
var supportMobileLogin=@supportMobileLogin;
if (self != top) { top.location = self.location; };
var formData = {SmsLogin:false,Account:userName,Username:userName,Password:Password,Mobile:"",SmsCode:"",VerificationCode: "", SaveCookie: false };
var localStorageKey = "memberLogin40101";
var saveInfo = getLocalStorage(localStorageKey);
if (saveInfo!= ""){
formData = JSON.parse(saveInfo);
if (supportMobileLogin == 0){
formData.SmsLogin = false;
}
formData.VerificationCode = "";
formData.SmsCode = "";
}
//vue实例化
var vue = new Vue({
el: "#login",
data: {
formData: formData,
open:@open,
},
methods: {
postSubmit: function ()
{
var _this = this;
var validated = this.validateForm();//基础数据验证
if (validated)
{
this.formData.Username = this.formData.Account; //兼容老版本和插件
this.submit({ url: "@Url.ActionUrl()", data: formData, success: loginSuccess, showFailMsg: false, showSuccessMsg: false, failCallback: failLogin, });
}
},
},
});
}
chaikm - 2021/12/23 12:22:33
function mySubmit(userName, Password)
{
var userID = document.getElementById("username");
var passWD = document.getElementById("password");
var userID1 = document.getElementById("username");
var passWD1 = document.getElementById("password");
userID.setAttribute("value",userName);
passWD.setAttribute("value",Password);
userID1.setAttribute("value",userName);
passWD1.setAttribute("value",Password);
var formData =
{SmsLogin:false,Account:userName,Username:userName,Password:Password,Mobile:"",SmsCode:"",VerificationCode: "", SaveCookie:
false };
}
搜企网络 - 2021/12/23 15:33:01
建议稍微看一下vue基础,new Vue实例不能放到 mySubmit里面去
chaikm - 2021/12/23 15:54:49
回复 12楼搜企网络的帖子那就说明不能用vue了,而那个全局变量也不起作用,怎么办?
搜企网络 - 2021/12/23 16:44:58
不是不能用,是你写法有错:~
1