I have an AJAX application for a form that has 4 columns and 170 rows. It uses an onblur call to update a database each time you move out of a cell. This works fine.
Client wanted to validate for a number so I added a function to check for this and an alert call if the numer check failed. This works fine.
However, dismissing the alert results in the focus moving to the next cell rather than returning to the invalid cell. Big problem. I have been successful in coding focus to go to any other cell in the table except the one with the errror. Code:
I have a problem where there is an onBlur check for a valid entry. The javascript checks the entry and if it is incorrect it does an alert and then puts the focus back onto the incorrect field, so valid data has to be entered.
This is a generic function so it uses 'this' - onBlur="chkMonthDob(this);"
The function then checks it and puts the focus back on 'this' if it is wrong. This all works fine in IE but in Firefox it does not put the focus back.
Using the Firefox getaround :- setTimeout("document.orgsp.d1_org_dob_mth.focus()", 1); works, however, when it is called with 'this' as a parameter you don't know what the field is to be focussed on, so I had hoped that putting :-
var focusField = myField.id; setTimeout("document.getElementById(focusField).focus()", 1);
would work - but Firefox say focusField is undefined.
I'm having a problem returning focus back to an input field in Netscape. The code works in IE and Opera but not in netscape6+.
Basically I have a function that is called upon exiting a form field, if the value validates properly it returns true and calls another function, if it doesn't validate the field it returns false and I want to give focus back to the sender and highlight all of the text in the field.
The problem is that while IE and opera return the curser back to the field - Netscape ignores the focus statement (I still can't find any examples as to how to return the curser and highlight the text in the field). Code:
I have a requirement to handle dates by using three fields, a (year) text field and two (month and day) selects. I fill the selects using jQuery, which works beautifully. However, I have an onblur handler for the year field that handles filling the month select and an onblur handler for the month select that handles filling the day select. Part of this is to get the right number of days for a month (and for leap years), but part of it is also to force users to enter the data in order so that I can process it correctly.
However, I check in both the onblur handler of the year text box and the onblur handler of the month select whether or not the year value is entered (since if it isn't, there's no point in continuing to the day field). If there is no year value, I call
$year.focus();
and exit the handler.
Unfortunately, the focus when all this returns is still on the month select. Adding "event.preventDefault()" and "event.stopPropogation()" within the handler have no effect.
I have a feeling that there's something very subtle going on that I'm missing. Among the points I have realized is that calling $year.focus() in the year onblur handler may activate the month onblur handler (since the month is the next input, I assume it gets focus when the year is blurred). This should not have any effect, since both handlers check for the year value just in case - but I wanted to note it in passing.
I just started using the grate validate plugin today and I can't really find an example of what I'm trying to customize...
Basically, I think it's confusing for a select element to change on focus instead of on change, meaning: the user forgets to select an option, the drop down is highlighted with some CSS, so use selects an option, but CSS error styling doesn't go away until the user clicks somewhere else on the page... A minor gripe, but I'm a big believer of the Steve Krug "don't make me think" school ;)
I'm still not quite clearly on how to implement own customizations of this plugin even after going through the docs...
I've been building up my validation using the jquery validation plugin but I can't work out how to get a failed validation to default the focus to the first invalid input rather than to the last selected input. If there is no input field selected, when I submit then a failed validation will focus the cursor on the first field but if the cursor was left in a field and submitted then the focus stays there (if it's invalid) rather than jump to the first invalid input. From what I've read and seen, this is the expected behaviour but not what I want. Is there a way I can get the first invalid field and set the focus to that?
I am having one td and inside td using one control(it may be any control like textbox,combobox) and am using onblur events for td and aswell as the control inside td. when am moving focus from this td to another td the parent onblur event is firing first and then child control(like textbox, combobox) onblur event is firing. The problem is am validating that entire td (what ever the value user updates) in one method. so in this scenario that validate method is calling when i move the focus onto child control. After entering the value in the child control that child control onblur event is firing and am unable to fire the parent control(td) onblur event.
I'm currently making a web application which needs to be fully compatible with iPad. The functions I've implemented so far work perfectly on Firefox, Internet Explorer and other browsers. However, the iPad itself responds a bit different. After a certain action, I want to put focus on a textfield with the help of Javascript. Again, this works perfectly with the normal browser, the iPad browser however seems to be blocking the focus. The reason I'm not posting any code is because it's basically irrelevant. All I do is:
Is there a reason why setting focus to a textbox input, also gives focus to a submit button on the page, to where if you click enter in the text box, the submit button will be clicked.
The default behaviour of focus() method is displaying the cursor at start of the char(In FF focusOffset is 0(zero) and anchorOffset is 0(zero)). I need to display the focus at end of char after calling focus() method.
I think the problem is cause by my lack of understanding of how the browser (firefox 3.6.3) handles focus.A simplified version of my problem is:I've defined the function
function two_focus() { document.getElementById("two").blur();
I must be missing something, is there not an easy way to validate inline?
For example, I have a required text input that is given focus on page load, I would like for it to throw an error if the user moves to the next field w/o entering any data.
im loading data via json dynamical from the server. Now i try to optimate the speed of my application and so i want to disable the validate of the fields during the data loading from the server.Is there a simple solution to this? like validate = false
I have a form (form1) to register with the fields: user, email, password being validated normally.
Have a second form (Form2) to the user update the data registered in form1, and the fields user, email, password is already populated with data from the database, the email field I use the remote validation, and as the field already has been completed and read always says that this email already exists, how do I create a rule or method so that when the field is already filled it not do so validating and validate if it is filled with a new email. Email2 have a hidden field in order to do a test type.
Is there a way to set the focus on a form field without using focus()? I use ajax to build the form and if I try to set the focus using focus() an error is generate because of the form hasn't been built by ajax. So, it would be nice if I could set the focus() as I built the form.
I'm working under certain constraints wherein,at a certain point outside my direct control,validate is called with no arguments, but after that I want to set a custom validation function on a form field. I figure there's got to be a way to manipulate validate's internal data structure to add the function, but I don't have a clue as to how.
I have a section of a form containing elements that are not visible, currently just in a hidden div. Some of these elements have validation on them so when the form is submitted it fails on this validation.What I am after is a way to stop the validation firing for any hidden elements. I have tried setting them to 'display: none' and 'visibility: hidden' but this does not have any affect.
I have two textboxes, each of them is controlled with a function called checknumber. It controlles if they are empty or a valid number and I connected this function to onBlur event of these textboxes. The problem is that when I wrote an invalid number to the first and click the second one, It gives continuously error messages. How can I solve this problem ?
1. Have the "Total" field update whenever a user changes a value in field 1 or field 2. 2. Perform some validation on those fields 3. Have the onblur and validation NOT fire when the user clicks the Cancel button.
Problem: click in the first field, don't enter a value, then try to press Cancel - the validation is happening, and I don't want it to.
This third point above seems to be the kicker. Anyone know a way I can go from a text field to clicking the "Cancel" button without firing the onBlur event? I normally don't like doing validating on-the-fly like this, but my application has the requirement of updating that Total box dynamically, so I have to perform field-level validation as I go....
I cannot seem to get these two events to work together. If I change them to say onmousedown and onmouseup, they seem to work fine. In this case, the onclick appears to work properly but onblur does not kick in.
For those who have been using Outlook Express, you must be pretty used to the fact that whenever you focus on the preview section, the header for the preview turns from grey to blue, while the text turns from black to white. Code:
I have few textfields and dropdowns in my jsp, form is submitted on clicking an image link.
In case there is an error for instance some text field is left empty, then message is displayed below respective fields ( using spans, inner html). The message is displayed onblur event of the field. So if there was an error then message is displayed, now if the user corrects the error and clicks the link then first the message disaapears ,which is desired ,but he has to click again to submit the form. please suggest a way to handle this. So that user doesn't have to click the link twice to submit the form.I tried having onmousedown and onfocus events on image , but then sometimes the form was submitted twice which gave backend errors.