{"action":"closed","issue":{"url":"https://api.github.com/repos/tonytomov/jqGrid/issues/486","labels_url":"https://api.github.com/repos/tonytomov/jqGrid/issues/486/labels{/name}","comments_url":"https://api.github.com/repos/tonytomov/jqGrid/issues/486/comments","events_url":"https://api.github.com/repos/tonytomov/jqGrid/issues/486/events","html_url":"https://github.com/tonytomov/jqGrid/issues/486","id":16597637,"number":486,"title":"possible to submit old input value after select field change","user":{"login":"rootsmith","id":532640,"avatar_url":"https://avatars.githubusercontent.com/u/532640?v=3","gravatar_id":"","url":"https://api.github.com/users/rootsmith","html_url":"https://github.com/rootsmith","followers_url":"https://api.github.com/users/rootsmith/followers","following_url":"https://api.github.com/users/rootsmith/following{/other_user}","gists_url":"https://api.github.com/users/rootsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/rootsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rootsmith/subscriptions","organizations_url":"https://api.github.com/users/rootsmith/orgs","repos_url":"https://api.github.com/users/rootsmith/repos","events_url":"https://api.github.com/users/rootsmith/events{/privacy}","received_events_url":"https://api.github.com/users/rootsmith/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2013-07-10T20:02:23Z","updated_at":"2015-04-02T07:50:37Z","closed_at":"2015-04-02T07:50:37Z","body":"In environments where the browser is overtaxed or a network operation may have serious lag, it is possible in the advanced search dialog for the user to submit an old input text element value after a select rule field change because the rendering of the new input text element has not completed yet.\r\n\r\nFor example, in the advanced search dialog, a user selects a different rule field and very quickly pastes a value into the input text box and hits 'Find'. Imagine that the building of the new data row element requires a remote call such as in a custom buildSelect. As a result, jqGrid posts an empty string even though the user entered in a value because it hadn't finished rendering the new element.\r\n\r\nThe root cause is that the processing of the ruleFieldSelect onChange event took a while, leaving the input data field for the old filter field on the screen. The user actually entered the data into the old input text element and hit submit before the new input text element had a chance to render. The call to empty() the old input field does not occur until the end of the event handler.\r\n\r\nNote that this behaviour is extremely hard to replicate because most modern equipment and networks allow the whole thing to happen faster than human actions. I have only seen it in a hideously overburdened enterprise environment.\r\n\r\nI have a patch on my forked jqGrid. I am just raising this issue to spark discussion and checking if I am indeed on to something. If I am not proven to be crazy I will do a pull request at some point.\r\n\r\nCheers"}}