Html control properties order in IE - html

i am seeing some weird things with respect to IE browser..
I have html control and have some properties..I want the order of the property to be same in chrome and IE...Looks like IE is rendering this control with difference properties order.
<input name="UserName" id="UserName" type="text" value="xyz" maxlength="120" tabindex="1"/>
IE rendered textbox-
<input name="UserName" tabindex="1" id="UserName" type="text" maxlength="120" value="xyz>
Chrome is showing exactly the same order which was placed.
<input name="UserName" id="UserName" type="text" value="xyz" maxlength="120" tabindex="1">
Can anyone please let me know how to make IE control properties sequence same as it placed.
Thanks,
Roshan

Andrew Sun is right - the browser will choose its own order.
It makes no difference at all as long as all the attributes are present - you can still retrieve them with getAttribute.

Related

How are IE11 users bypassing HTML5 validation?

I have a form with HTML5 validation throughout - like this:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label>Name: <input type="text" name="Name" required></label>
<label>Address: <input type="text" name="Address" required></label>
<label>Zip: <input type="text" name="Zip" required></label>
<label>Message: <input type="text" name="Message"></label>
<input type="submit" name="Submit" value="Submit">
</form>
But I've noticed that some forms are coming in partially filled out. I checked server logs and it looks like these are coming from IE11 on Windows 10.
I've been trying to reproduce the behavior but so far the only way I've been able to bypass the HTML5 validation in IE11 is to use the Developer Tools to manually add the novalidate property directly to the form before clicking Submit. Are people really going to this length or is there some other browser setting that would be more commonplace?
The users in question are unlikely to be very advanced, but I could possibly imagine a corporate security policy setting somewhere disabling form validation.

Chrome auto-fill & autocomplete=on not working

I can find a lot of references even on StackOverflow that Chrome Auto-fill functionality should work if autocomplete="on".
However that does not seem to be the case with the latest Chrome I have here (60.0.3112.90). To be precise - default browser autocomplete works fine , but Auto-fill will ignore the field completely.
The code below won't work with Chrome Auto-fill:
<form method="post" name="checkout" url="/">
<input type="text" name="given-name" autocomplete="on" />
<input type="text" name="email" autocomplete="on" />
</form>
However, this will work without issues:
<form method="post" name="checkout" url="/">
<input type="text" name="given-name" autocomplete="given-name" />
<input type="text" name="email" autocomplete="email" />
</form>
You can easily test it here: https://jsfiddle.net/kw4yjpz4/
Screenshots:
Does it mean that all input fields now have to have autocomplete="[NAME]" for auto-fill to work? Is this a bug in the newest Chrome or intended behaviour?
I stumbled across this same issue and searching led me here... I moved on not finding an answer and finally stumbled across the answer to my cause of the issue, so I came back in case someone like me wanders through with the same issue (likely myself in 2 years when I've forgotten about it - hi, me!).
Turns out if the site does not have a valid SSL cert, Chrome Autofill does not work.
Try the following:
<!DOCTYPE html>
<html>
<body>
<h2>The autocomplete Attribute</h2>
<form action="/action_page.php" autocomplete="on">
First name:<input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
E-mail: <input type="email" name="email" autocomplete="off"><br>
<input type="submit">
</form>
<p>Fill in and submit the form, then reload the page to see how autocomplete works.</p>
<p>Notice that autocomplete is "on" for the form, but "off" for the e-mail field.</p>
</body>
</html>
The above works as I want in Chrome when the site has a valid SSL cert. Saving locally and opening the .html results in Autofill not working.
Autocomplete allows the browser to predict the value. When a user starts to type in a field, the browser should display options to fill in the field, based on earlier typed values.
The autocomplete attribute works with the following types: text, search, url, tel, email, password, datepickers, range, and color.
And It contains only on|off Value for 'autocomplete' attribute.
In some browsers you may need to activate an autocomplete function for this to work (Look under "Preferences" in the browser's menu)
autocomplete works once you submit the data see
https://jsfiddle.net/0x31Loo1/#&togetherjs=CtJMLzM7AP
<form method="post" name="checkout" url="/" autocomplete="on">
<input type="text" name="given-name" />
<input type="text" name="email" />
<input type="submit">
</form>

Firefox does not accept e-mail whith blank space on end

I would like to make my website work identically on every browser.
Unfortunately, the validation mechanism introduced their differences.
Field of type 'e-mail' on Chrome and Opera 'trim';delete blank spaces on input of e-mail field and Firefox no cuts signs and do not accept e-mail in this form.
<input type="email" id="e-mail" class="" name="e-mail" value="" placeholder="" autocomplete="off">
Example:
If you want to get the same behavior between browsers while keeping the email verification, you can trim the field on blur:
document.getElementById("e-mail").addEventListener("blur",function(e){
this.value = this.value.trim();
});
<input type="email" id="e-mail" class="" name="e-mail" value="" placeholder="" autocomplete="off">

Disable autocorrect in Safari text input

I'm using the autocorrect "off", etc. in input boxes on my site. However, Safari on Mac OS X still auto corrects text input.
This is what I have:
<input autocomplete="off" autocorrect="off" autocapitalize="off" type="text" name="url" placeholder="Enter a web address">
But when I test it on Safari version 9 (Mac OS X v10.11 (El Capitan)), it is still autocorrecting the text.
Is there a more robust answer? Is the new version of Safari overwriting it?
You need to add spellcheck="false" to your input.
<input autocomplete="off" autocorrect="off" autocapitalize="off" type="text" name="url" placeholder="Enter a web address" spellcheck="false">
Fiddle
If you have to do this with jQuery, you'll need to leave the quotes off of false.
$(this).prop("spellcheck", false); // this works
$(this).prop("spellcheck", "false"); // this does NOT properly set the property
Change input type from text to search
<input type="search">
Or
https://discussions.apple.com/thread/8325873

Is the html5 attribute pattern buggy?

The following input field is not working properly.
<input id="textinput" oninvalid="setCustomValidity('Die Eingabe ist zu kurz')" pattern=".{5}" maxlength="255" required="" name="input[1164]" type="text" class="form-control input-md " value="">
What is working?
Typing in the right amount of characters and submitting.
What is not working?
e.g. typing in the wrong amount, hitting submit. After the expected error message is shown, I´m not able to reach the right amount of characters or to fill the input correct (in case it is not depending on the amount of characters).
What browsers have I used to verfiy this bug?
Chrome and Firefox, each in the last stable version.
Want to see it live?
http://jsfiddle.net/0efurqa9/
Answer already exists :)
HTML5: Why does my "oninvalid" attribute let the pattern fail?
If you set your field with setcustomvalidity, your field is invalid... And STAYS invalid. You need to force the behavior back to its original one, with oninput="setCustomValidity('')", like this:
<form>
<input id="textinput"
oninvalid="setCustomValidity('Die Eingabe ist zu kurz')"
oninput="setCustomValidity('')" required="required" pattern=".{5}"
maxlength="255" name="input[1164]" type="text" class="form-control input-md "
value="">
<input type="submit">
</form>
Also:
I recommend the use of required="required" instead of required=""
take care: this attribute is not supported in Internet Explorer 9, nor in Safari.