Javascript - Prevent Submit And Call A Webservice On Enter Keypressed In A Textbox?
Mar 21, 2011
Is there a simple way to turn off form submit behaviour of the page when ENTER is pressed while I am focused to textbox? What I want to achieve is to call a web-service without submiting the page when ENTER is pressed in a specific textbox in my aspx page?
I have a page with multiple textboxes and each has a button associated with it. This works as a search 'hub', I suppose, where the user can search by ID, name etc. When entering a search term for e.g. name however, pressing enter 'clicks' the very first button on the page (ID search), causing an error if the associated textbox is empty (which it would be if someone meant to search by name). I have attempted to rectify this using JQuery, and have written the following:
I'm simply using the click event so that I can monitor where focus is redirected, but eventually I would use .keypress. However, nothing happens upon clicking a textbox and I can't see for the life of me what is wrong with the JQuery. To elaborate on the problem, the .NET code used looks similar to the following throughout the page.
i want when user click on submit button then a div layer will be generated over the textbox whose height and width will be just the same as textbox and in this way textbox will be blocked for entering something. i want to do it by javascript. in this scenario other textbox will not be blocked.
I'm doing a project in asp.net with a web services. My web services and my asp.net project is separate and my asp.net projet have a reference of my web services. i'm using visual studio 2008 framework 3.5 and my service web is in vb.net. i want to call the web methods of my web services in javascript my script manager is declared
service1 is the class of my Webservice and i call the function test with my button <input name="btnRecherche" class="btnRechercher" type="button" value="Rechercher un emplacement" onclick="test()" /> the problem is : JavaScript say Service1 is not defined but why .... What's the problem ? I've checked many forums and videos every body did it sorry for the french variable
I have been working on this for hours now and it's driving me crazy. I am using vb.net in Visual Studio 2005. I have an asp.net textbox called xtSearch. I want it so that if the user presses the Enter key while inside the textbox to do the same thing that my button btnSearch does which is a simple response.redirect that uses txtSearch.text in its concatenation. I have tried using something like:
Private Sub txtSearch_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSearch.KeyPress
but it gives me the error that, "Type System.Windows.Forms.KeyPressEventArgs' is not defined." This seems so simple but it is so difficult.
all My web app is calling webservice which resides in same virtuall directory as web app . In this scenario i have a javascript function like this which works perfectly.
I'm calling a webservice using jQuery with .ajaxHere are the data parameters for the call:
var parameters = "{'Titre':'" + Titre + "','Description':'" + Description + "','Contact':'" + Contact + "','VilleId':'" + VilleId + "','QuartierId':'" + QuartierId + "','UserId':'" + UserId + "'}"; It works fine. But when parameters Description or Titre contain the ' character , no call!!!
Does anyone have an idea how can i make it work even with apostrophe character in Titre and/or Description?
My javascript code is calling a asp.net webservice, so i have a call to the webservice something like this:MyWebservice.GetData(param, ResponseReceived, ResponseTimeOut, ResponseError);When the webservice returns data, ResponseReceived method is called.However sometimes the user might navigate to another url before the webservice call actually returns, in such a scenario FireFox throws an Error saying 'An error occured oricessubg the request. The server method GetData failed'So my question is how can i kill the async call when the user navigates to another page or makes another request to the webservice? I know in a normal XMLHttpRequest i could have called Abort method, but not sure how to make it work with the above webservice proxy.
I added a user control on master page and inside UserControl i add a link. and did some stuff on click of link.
Again i add another Content Page that is using the user control not the master page. Inside the table i add some textbox and save values in database . and the table is in UpdatePanel. and added ad trigger
When i remove the usercontrol entering on table textbox values works fine. and again i put the same user control the link button contol doesn't work for me.
Configuration : Windows Vista,VS 2005,Ajax v1.0.61025 My Html Page
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> <script language="javascript" type="text/javascript"> function fnCall() { try { var ans= Sim.Service.HelloWorld(OnMethodSucceeded, OnMethodFailed); } catch(e) { alert(e.message); } } function OnMethodSucceeded(result) { alert('a'); } function OnMethodFailed(result) { alert('b'); } </script> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" ><Services> <asp:ServiceReference Path="http://localhost/ajaxtest/service.asmx" /></Services> </asp:ScriptManager> <div><input id="Button1" type="button" value="button" onclick="fnCall();" /></div> </form> </body> </html> Web Service CS. using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Web.Script.Services; namespace Sim { [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService] public class Service : System.Web.Services.WebService { public Service() { //Uncomment the following line if using designed components //InitializeComponent(); } [WebMethod,ScriptMethod(UseHttpGet=true)] public string HelloWorld() { return "Hello World"; } } }
But i am getting Sim is not defined. Error. post ur comments. I have reviewed most of the forums. I am not able to clear
I am calling a web service via Javascript. I tried it first in a web page that does not have a Masterpage and it worked perfectly. Then I moved everything over to a web page that does use a Masterpage, and I get a "Microsoft JScript runtime error: Object required" on the javascript statement that calls the web service. My javascript statements look like so:
I have a web user control. That I load dynamicaly inside a modalpopup window using dynamic populate extender. User control has a external javascript file linked to it. Problem: I cannot make call to webservice method from this external javascript file. When I make a call -- servicename.methodname() I get servicename not defined error.
Pinging back to a webservice in ajax from the client keeps the user's session alive, I don't want this to happen. More extensive summary For a website we're developing, we need the client to ping back (in js) to a webservice (ASMX) on the server (IIS7.5). This happens to let the server know that the user is still on the site, and hasn't browsed away to another site. This is as our customer wants to let users lock records, but if they browse away to other sites, then let other people take over those locked records. Perhaps the distinction between the client being on the site but inactive and on another site seems unimportant, but that's kinda irrelevant, I don't get to write the UI spec, I just have to make it work.
My problem is this, the ping stops the user from being timed out on the server through the standard forms authentication timeout mechanism. Not surprising as there is that 30 second ping in the background keeping the session alive. Even though we want to know if the user is still on the site, we want the normal forms authentication timeout mechanism to be honoured. I thought I might be able to fix this by removing the ASP.NET_SessionId and .ASPXAUTH cookies in the XMLHttpRequest that is the server ping, but I can't figure out how to do this. This is how my web service & method are defined:
[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService] public class PingWS : WebService { [WebMethod] public void SessionActive(string sessionID) { // does stuff here } This is how I'm calling it in js (request is over HTTPS, : $.ajax({ type: "POST", url: "PingWS.asmx/SessionActive", data: 'sessionID=' + aspSessionID + '}', beforeSend: function (xhr) { xhr.setRequestHeader('Cookie', ''); xhr.setRequestHeader('Cookie', 'ASP.NET_SessionId=aaa; .ASPXAUTH=bbb;'); }, dataType: "json" });
I was trying with the setRequestHeader, but that just appends to the header rather than overwrites the header, and IIS is happy to ignore that junk I added. I'm thinking maybe I should be trying to do this at the server end, someone take PingWS.asmx out of the loop so that it doesn't keep the session active, but I'm not sure how to do this. Although the title of the question is focused on clearing the cookie in the header, I'd be super happy if anyone points out that I'm being really stupid and there is actually a much better way of trying to do what I'm doing.
I'm thinking at this stage maybe I need to add something to the webmethod that says how long this particular page has been inactive, and use that knowledge to timeout manually. That actually sounds pretty easy, so I think I'll do that for now. I'm still convinced that there must be an easy way to do what I originally wanted to do though. Update I'm thinking I'm pretty screwed in terms of cookie manipulation here as both the .ASPXAUTH and ASP.NETSessionId cookie are HttpOnly, which means the browser takes them out of your hands, you can't access them via the document.cookies object. So I would say that leaves me with:
Updating my SessionAlive webmethod to track each request so I can tell how long the user has been sitting idle on a page and timeout if needs be Marking the .asmx page somehow on the server end so that it's taken out of the normal authentication/session tracking flow I know how to do 1. so I'll start there but 2. seems much cleaner to me.
Basically I have a Search Text Box with a LinkButton Control on which the click event is fired. now what i want is when the user type keywords and press enter the Click event got fired. So No Javascript Only ASP.NET With VB.NET v2.0
I want to allow numbers only to be allowed for a textbox and I already do it onkeydown event by allow only numbers and prevent ctrl+V but I have two problems: if I make right click then paste so any char can be entered and I want a solution without disable right click by oncontextmenu="return false;" if I drag and drop any text it will be entered
I'm adding a extra functionality to an existing program. Its a Login page to manage the time a user came in and out. So first a login is asked, then (on the same page) a list with the login times are shown. The same button is used (just relabelled) for the login and time in/out.
The problem exist when users want to use enter to login and time in/out. So quickly press enter twice. No problems with the login. But the second page wont recognize the enter. even when I capture the keypress with JavaScript nothing happens. I have to click the form (or a object in the form) so the enter would work.
I am trying to develop two step size buttons + and - so that when you click either one, the AJAX SliderExtender will magically move itself by one. I have tried implementing the following functions:
here's what happens, I see that the BoundControl textbox works and it gets updated to 5. However, the slider still does not update to its new position. When the slider moves, a postback will occur. The Slider1 is the textbox that is the targetID to SliderExtender1 . The boundcontrolID is Slider1_BoundControl (textbox)
I have a chat application I've developed which sits inside a master page. When the user presses enter inside his/her chat input field, I want that to trigger the submit chat behaviour (same as clicking the 'submit' button under the chat input field), but because there is another submit button inside the master page and higher up the page (a search function), that is what gets triggered. So if the user hits enter, s/he gets sent off to the search page.