This question already has answers here:
Set the value of an input field
(17 answers)
Closed 6 years ago.
I have a function that creates a string and I would like for it to be displayed in a textbox on the page. I cannot understand why this does not work.
HTML:
<input id="poNum" type="text" name="PO" id="PO" style="width: 310px;" readonly />
JS:
document.getElementById("poNum").innerHTML = number;
document.getElementById("poNum").value = number;
InnerHTML is accessing... well, the actual inner html. Where as value is a attribute for inputs (selects, buttons, etc).
Use document.getElementById("poNum").value = number;
<input> elements have values, not inner HTML:
document.getElementById("poNum").value = number;
Related
This question already has answers here:
Clicking a button within a form causes page refresh
(11 answers)
How do I get the value of text input field using JavaScript?
(16 answers)
Closed 2 years ago.
I'm trying to write an if statement code to redirect users below 18 to a separate website from users above and equal to 18 but the code isn't running, can someone figure out and explain what the problem is?
<body>
<div>
<form>
How old are you?
<br>
<br>
<input type="text" id="number">
<button onclick = submit();>Submit</button>
</form>
</div>
<script>
function submit() {
var number= document.getElementById("number");
if (number >= 18 ) {
location.href = "inec.com.ng"
;}
else if (number== isNaN){
alert('Input a number');
}
else {location.href = "www.google.com";}
}
</script>
You're trying yo use the DOM element itself instead of using its value
.
Once you get its value, don't forget to cast is to an int with parseInt:
var number = parseInt(document.getElementById("number").value);
This question already has answers here:
getAttribute() versus Element object properties?
(7 answers)
Closed 5 years ago.
I have a simple web-application with an input text field in it looking like this:
<input id="txtip" type="text" value="10.1.1.50" />
The address 10.1.1.50 is a default value for an ip address. And from javascript I would read it like this:
txtip.getAttribute("value")
Now let's suppose to change it to 10.1.1.49. In google chrome the above javascript code will still return 10.1.1.50, while the expression
txtip.value
returns 10.1.1.49.
What is the difference? What is the "right way"?
var el = document.getElementById('testBox');
$(document).focusout(function () {
alert('el.value = ' + el.value);
alert('el.getAttribute("value") = ' + el.getAttribute('value'));
e.preventDefault();
});
<h2>Change value in the text box</h2>
<input id="testBox" type="text" value="original value" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
Found this on web might help you try following code type something and focusout
The difference is that element.value is real time and if a user changes let's say, a textbox input, it will reflect that, and show you the new value.
While getAttribute('value') will still show the original value="whateverWasHere" value.
This question already has answers here:
Stop cursor from jumping to end of input field in javascript replace
(3 answers)
Closed 5 years ago.
I am trying to replace special characters i.e <,>,& from input field on blur and keypress. And the code is working fine but the problem is, once user enter the desired string and then try to edit that string it will move the cursor to the end of the string, So the user isn't able to edit the string in between. How do I make this script more user friendly so that user can edit the existing string from anywhere.
HTML
<input type="text" class="prevent-special" name="name" value="HelloWorld" >
Script
$('.prevent-special').on('keypress blur',function(e){
//console.log(e.keyCode);
$(this).val($(this).val().replace(/\<|\>|\&+/g,''));
})
JS Example
Try this:
$('.prevent-special').on('keyup blur',function(e){
var start = this.selectionStart,
end = this.selectionEnd
$(this).val($(this).val().replace(/\<|\>|\&+/g,''))
this.setSelectionRange(start, end)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" class="prevent-special" name="name" value="HelloWorld" >
This question already has an answer here:
Parsing HTML to get script variable value
(1 answer)
Closed 7 years ago.
I am using HTMLAgilityPack. I want to get a value inside a script tag, see the code:
<div id="frmSeller" method="post" name="frmSeller">
<div class="clear"></div>
<script type="text/javascript" language="javascript">
Biz.Product.GroupItemSwitchLogic.init();
Biz.Product.GroupItemSwitcher.init({
properties:null,
availableMap:[{"info":{"item":"28-200- 286","price":95.99,"vehicle":null},"map":[]}],
selectedProperties:[]
});
</script>
</div>
From there I want to get value of "price" that is 95.99.
How can i get this kindly tell me, what type of Regex I can use....
Thankyou
You can do some string manipulation like this
s = the html code
var s = z.Split(new String[] { #"price"":" }, StringSplitOptions.None);
var price = s[1].Split(',')[0];
and now price variable has your price
This question already has an answer here:
javascript take value from array
(1 answer)
Closed 8 years ago.
<form name="car" onsubmit="return validate()">
<input type=text name=input[][] value="......" />
how can I alert value from filed input that is an field array?
function validate(){
alert("meee");
var mycar = document.car.elements['input[][]'].value; // this line does NOT want to store value in mycar
alert(mycar);
}
in this case alert box with message mee is displayed but another box that should display value mycar is not displayed.
simply assign an id or class to the input and use to access it.
As an example :
<input id="mycar" type="text" name=input[][] value="..." />
and the related JS
function validate() {
var mycar = document.getElementById('mycar');
var value = mycar.value;
}
if you insist on using the name, you can reference HTML form input tag name element array with JavaScript