Javascript可以';不改变输入值
我试图将一个随机数设置为ons输入(signup_txtCodigo)的值,但每当我尝试推送页面时,它只会向我显示一个警报,我将其用于检查随机数并保持在那里。 这是页面模板:Javascript可以';不改变输入值,javascript,html,onsen-ui,Javascript,Html,Onsen Ui,我试图将一个随机数设置为ons输入(signup_txtCodigo)的值,但每当我尝试推送页面时,它只会向我显示一个警报,我将其用于检查随机数并保持在那里。 这是页面模板: <!--External user register--> <template id="signup.html"> <ons-page id="login-page" modifier="full_bg"> <
<!--External user register-->
<template id="signup.html">
<ons-page id="login-page" modifier="full_bg">
<ons-toolbar modifier="transparent">
<div class="center" style="font-size:150%;color:#f0f0f0">Estacionamiento UdeG</div>
<div class="left"><ons-back-button>Volver</ons-back-button></div>
</ons-toolbar>
<div align="center">
<br><img src="https://quimicabasicacucei.files.wordpress.com/2013/02/logo-udg.png?w=316" alt="logo" height=250px><br>
<p style="color:#f0f0f0">Registrar usuario</p>
<table>
<tr>
<td style="color:#f0f0f0">Código:</td>
<td><div contenteditable><ons-input input-id="signup_txtCodigo" type="text" modifier="underbar" readonly></ons-input></div></td> //this is the input I'm trying to change
</tr>
<tr>
<td style="color:#f0f0f0">Nombre:</td>
<td><ons-input input-id="signup_txtNombre" type="text" modifier="underbar" placeholder="Nombre"></ons-input></td>
</tr>
<tr>
<td style="color:#f0f0f0">Placa:</td>
<td><ons-input input-id="signup_txtPlaca" type="text" modifier="underbar" placeholder="Ej. A1B-2C3" maxlength="7"></ons-input></td>
</tr>
<tr>
<td style="color:#f0f0f0">Teléfono:</td>
<td><ons-input input-id="signup_txtTelefono" type="text" modifier="underbar" placeholder="Teléfono" maxlength="10"></ons-input></td>
</tr>
<tr>
<td style="color:#f0f0f0">Contraseña:</td>
<td><ons-input input-id="signup_txtPassword" type="password" modifier="underbar" placeholder="Contraseña" maxlength="10"></ons-input></td>
</tr>
</table><br>
<ons-button onclick="signup()" modifier="cta">Enviar</ons-button>
<ons-button onclick="cleanSignUp()" >Limpiar</ons-button><br><br>
</div>
</ons-page>
</template>
提前谢谢您不能更改标记为
只读的字段
,您应该使用禁用的
<ons-input input-id="signup_txtCodigo" type="text" modifier="underbar" disabled></ons-input>
您正在使用,必须删除id
中的点
所以改变
<template id="signup.html">
要访问元素,请使用
现在您可以使用
这里有一个例子
//加载注册页
(函数externalUserPage(){
var random=Math.floor((Math.random()*9999999)+111111111);
警报(随机);
var content=document.querySelector('template#signuphtml').content;
var clone=document.importNode(content,true);
var signup\u txtCodigo=clone.querySelector(“[input id='signup\u txtCodigo']”);
signup_txtCodigo.innerHTML=random;
//document.getElementById(“signup\u txtCodigo”).value=random
console.log(signup_txtCodigo);document.querySelector('myNavigator').pushPage('signup.html',{data:{title:'signup'});
})();代码>
埃斯塔西奥纳米恩托乌德格酒店
玩美女人
注册商usuario
科迪戈:
//这是我试图改变的输入
名义:
普拉卡:
电话:
相反的尼娜:
羡慕
Limpiar
为了给该输入赋值,请检查您的函数是否收到调用或是您在document.ready中编写的
在我看来,这个例子应该是可行的:
$( document ).ready(function() {
var random = Math.floor((Math.random() * 999999999) + 111111111);
document.getElementById("signup_txtCodigo").value = random;
});
参考链接:只需将input id=“signup\u txtCodigo”
更改为id=“signup\u txtCodigo”
我做了一个快速的谷歌搜索,但据我所知,input id
不是一个有效的OnSen元素属性,因此不能通过常规JavaScript方法按id选择它 谢谢你的评论,它也不起作用。另外,我还有另一个只读输入,可以很好地处理相同的指令。这是唯一一个没有更改其值的。感谢您的评论,但它确实可以访问模板,但只有在我删除“document.getElementById(“signup_txtCodigo”).value=random”指令时它才会这样做。。。这就是给我带来问题的原因,我找不到原因。请查看如何使用document.importNode
访问元素的更新,您可能希望更改document.querySelector(“#myNavigator”).pushPage
到$scope.nav.pushPage
,因为pushPage
不是万能的。
<template id="signuphtml">
var content = document.querySelector('template#signuphtml').content;
var clone = document.importNode(content, true);
var signup_txtCodigo = clone.querySelector("[input-id='signup_txtCodigo']");
$( document ).ready(function() {
var random = Math.floor((Math.random() * 999999999) + 111111111);
document.getElementById("signup_txtCodigo").value = random;
});