Javascript可以';不改变输入值

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"> <

我试图将一个随机数设置为ons输入(signup_txtCodigo)的值,但每当我尝试推送页面时,它只会向我显示一个警报,我将其用于检查随机数并保持在那里。 这是页面模板:

<!--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;
});