2017-01-23 4 views
0

Ich versuche den Wert einer Eingabebox mit Javascript zu ändern. Ich habe bereits versucht, .val und .setAttribute zu verwenden, aber der Wert hat sich nicht geändert. Ich kann JQuery nicht verwenden.Eingabewert kann nicht durch Javascript ersetzt werden

inputbox

<div class="row"><!-- ko if: error --><!-- /ko --> <div class="form-group col-md-24"><!-- ko if: prefillNames().length > 1 --><!-- /ko --><!-- ko ifnot: prefillNames().length > 1 --> <div class="placeholderContainer" data-bind="component: { name: 'placeholder-textbox', params: { 
       serverData: svr, 
       textInput: displayName, 
       hasFocus: isFocused, 
       hintText: str['CT_PWD_STR_Email_Example'], 
       hintCss: 'placeholder' + (!svr.A ? ' ltr_override' : '') } }"><!-- ko withProperties: { '$placeholderText': placeholderText } --> <!-- ko template: { nodes: $componentTemplateNodes, data: $parent } --> <input type="email" name="loginfmt" id="i0116" maxlength="113" lang="en" class="form-control ltr_override" aria-describedby="usernameError" data-bind="textInput: displayName, 
         hasFocusEx: isFocused, 
         placeholder: $placeholderText, 
         ariaLabel: str['CT_PWD_STR_Email_Example'], 
         css: { 'has-error': error }, 
         attr: inputAttributes" aria-label="Test"> 
<input name="passwd" type="password" id="i0118" autocomplete="off" data-bind="moveOffScreen, textInput: passwordBrowserPrefill" class="moveOffScreen" tabindex="-1" aria-hidden="true"><!-- ko if: true --> <div id="usernameProgress" class="progress" role="progressbar" data-bind="visible: isRequestPending" style="display: none;"><div></div><div></div><div></div><div></div><div></div><div></div></div><!-- /ko --> <!-- /ko --><!-- /ko --><!-- ko ifnot: forcePlaceholderAttribute --> <div class="phholder" style="left: 0px; top: 0px; width: 100%; position: absolute; z-index: 5;" data-bind="visible: !textInput(), click: focus"> <div aria-hidden="true" style="cursor:text" data-bind="text: hintText, css: hintCss" class="placeholder">Test</div> </div> <!-- /ko --></div><!-- /ko --> </div> </div> 

hier ist mein Code:

var script2 = document.createElement(‘script’); 
script2.type = ‘text/javascript’; 
script2.text = ‘document.getElementById('i0116').value = ‘[email protected]';' 
document.getElementsByTagName('head')[0].appendChild(script2); 

Vielen Dank für Ihre Zeit.

+1

diese abgewinkelten Anführungszeichen sehen etwas zwielichtig aus, versuchen Sie stattdessen normale einfache Anführungszeichen ('). Und warum ist das kein regulärer Skriptblock? Warum spritzt du einen neuen Skriptblock, wenn du bereits ein Skript hast? Scheint ein bisschen sinnlos. Erhalten Sie irgendwelche Konsolenfehler, wenn Sie diesen Code ausführen? – ADyson

+0

Warum schreiben Sie ein neues Skript-Tag in den Kopf für etwas, das Sie direkt an Ort und Stelle tun können? Also: Ersetzen Sie den gesamten Code in Ihrem Code-Schnipsel durch: 'document.getElementById (" i0116 "). Value =" [email protected] ";' – Pineda

+0

Wie @ADyson darauf hingewiesen hat, seien Sie vorsichtig bei der Mischung von ** Anführungszeichen ** ('), ** _ double_ quotes ** (") und ** back-ticks ** (') – Pineda

Antwort

-1

es ist ein bisschen einfach, mit JQuery

<script> 
$(document).ready(function(){ 
$("#btn").click(function(){ 
    alert('old value '+$("#dd").val()); 
    ($("#dd").prop('value', '[email protected]')); 
    alert('new value '+$("#dd").val()); 
}); 


}); 
</script> 
</head> 
<body> 

<button id="btn">submit</button> 
<input type='text' id="dd" class='funfoo' placeholder='Fill me'/> <br/><br/> 
+0

Sie können immer noch document.get .. für Javascript-Version verwenden –

+2

welcher Teil von" Ich kann JQuery nicht verwenden. " war nicht klar in der Frage? :-) – ADyson

0

Sie etwas versuchen könnte wie folgt vor:

<!DOCTYPE html> 
 
<html> 
 
<body> 
 
    <form> 
 
    <button id="btn" onclick="javascript:test('pwd1')">Set pwd</button> 
 
    <input type='password' id="pwd1"/> <br/><br/> 
 
    </form> 
 
    </body> 
 
    <script> 
 
    function test(id){ 
 
     document.forms[0][id].value='test'; 
 
     alert("Value of " + id + ": " + document.forms[0][id].value); 
 
    } 
 
    </script> 
 
</html>

Ich hoffe, es hilft Ihnen, bye.

Verwandte Themen