OnKeyDown With Frames
Jul 31, 2001I am looking form a script which when a key is presses, it scrolls a selected frame down or up (depending on the key).
View 7 RepliesI am looking form a script which when a key is presses, it scrolls a selected frame down or up (depending on the key).
View 7 RepliesWhat I need is something as such (based on previous thread): I have a textfield and I want to limit the input to only numbers, letters and caps.
So the code is:
<input onkeydown="return testChars(event)" type="text" .../>
function testChars(e){
var keyCode = e.keyCode;
if(e.shiftKey && keyCode==53){
return false;
} //block "%"
//HERE BLOCK EVERYTHING THATS NOT a Letter, caps and numbers
if ( (keyCode > 64 && keyCode < 91) ||(keyCode > 96 && keyCode < 123) )//Letters and Caps{
return true;
}else if ( keyCode > 47 && keyCode < 58 )//numbers{
return true;
}}
The problem however using the onkeydown is that I would need to cater for every single possibility of them using SHIFT+1=*, SHIFT+2, SHIFT+3 etc. which would take forever. And I cant block Shift because they might use it for capitalizing letters.
I have set window.onkeydown which works fine. One of my shortcut keys is "n", so a user can not type "n" in forms. How do I solve that?
View 5 Replies View RelatedI'm trying to submit the form normally as well as by pressingCtrlEnter. Yepp, the same task.What I'm doing is the following:
var validator=$
"#myform"
.validate
[code]...
I have a form with many, many, many 'input type="text"' elements in it. I'd like to be able to dynamically add an 'onKeyDown' event listener. Here's what I've got, so far (I know it's wrong.)
Code:
function addEventToElement(formName,tagName,typeName,eventName,eventAction) {
thisForm = (typeof formName == 'string') ? document.getElementById(formName) : '' ;
thisTag = (typeof tagName == 'string') ? tagName : '' ;
thisType = (typeof typeName == 'string') ? typeName : '' ;
thisEvent = (typeof eventName == 'string') ? eventName : '' ;
thisAction = (typeof eventAction == 'string') ? eventAction : '' ;
if(thisForm != "") { // If elements are in a form, make sure ONLY those elements are affected
elem = new Array(); elem = thisForm.getElementsByTagName(thisTag); // array of all items of [tag]
alert(elem.length);
if(thisType != "") {
for(j=0;j<elem.length;j++) {
if(elem[j].type != thisType) { elem.splice(j,1); } // If a type is specified, remove tags that do not have a type attribute
}
}
}
else { // Otherwise, any/all elements in a document/body will be affected
elem = new Array(); elem = document.getElementsByTagName(thisTag); // array of all items of [tag]
if(thisType != "") {
for(j=0;j<elem.length;j++) {
if(elem[j].type != thisType) { elem.splice(j,1); } // If a type is specified, remove tags that do not have a type attribute
}
}
}
if((thisEvent != "") && (thisAction != "")) {
for(i=0;i<elem.length;i++) { // All elements are picked - let's apply some attributes
document.getElementById(elem[i].id).addEventListener(thisEvent,thisAction,false)
}
}
}
HTML Code:
addEventToElement('form_name','input','text','keydown','return numbersOnly(event,this);');
I have come across a problem with the onKeyDown event in some of my forms.
I'm using onKeyDown in <form> as a standard method to open my help screen
system throughout my system, but I have discovered that If I have a
<div></div> section somewhere and then load the contents of it from another
file using innerHTML after the main window is loaded, the onKeyDown event
doesn't trigger any more.
I'm using IE6 and the structure is:
I am trying to assign the left and right arrows, but I cannot get the code to work. It would be great to get some help--I am a newbie to coding.
[Code]...
I have the below code to block the view source but its not working for me.
<html>
<head>
<script language="javascript">
function onKeyDown() {
// current pressed key
var pressedKey = String.fromCharCode(event.keyCode).toLowerCase();
if (event.ctrlKey && (pressedKey == "c" ||
pressedKey == "v")) {
// disable key press processing
event.returnValue = false;
} }
// onKeyDown
</script>
</head>
<body>
<DIV align=center> .....
I want to use an onkeydown() on my web site and the web site to know which key I pressed. Specifically know I pressed the arrow keys and store which key was pressed in a variable. Must work on all browsers.
View 1 Replies View RelatedI am trying to find a way to get more than one characters pasted on html text field (input type=text), using onkeydown or onkeypress, I am NOT interested in onkeyup(it works), so please do not suggest me this solution. Also I am not interested in Jquery, I do not like to use it. I need solution to work with all browsers.
I am able to do that if you type one character, by taking the character of the event, but till now I am unable to get group of characters come from the paste (ctrl+V) or by mouse.You can look at Facebook search menu that shows auto complete results, it works on events: onkeydown and onkeypress and you notice that you get the result before you release your finger, try to paste something (more than one character) and you get the result before releasing finger, how? Onkeypress and onkeydown do not show first thing you paste or type because they happen before the text being added to text field.
Code:
<input type="text" id="targetTextField" onkeydown="CapturePastedString(this.id)" /> <script> function CapturePastedString(id){ var targetTextField=document.getElementById(id); // below I need to capture the pasted string like: var pasted_string= function(){.....} targetTextField.value=pasted_string; } </script>
I have a javascript/MSHTML editor loaded in an IFrame call "msEditor1". It gets composed after the document loads through document.write commands from a JS function. I'm trying to set the editor so whenever a key is typed I capture the key event from the editor and then go from there.
I have a handle to the editor using either one of these:
I am having a play around with javascript and the html5 canvas to evaluate the feasibility of using it for a few personal projects.I have tried using both setInterval or setTimeout to set up a very rough framerate for an animation.The framerate is fine when coupled with a simple delta timing to smooth out the changes however when running under a large load (large images) I cannot seem to capture keyboard events very easily.
If I wiggle around the mouse a bit, it makes the keyboard more responsive but is there any way to get the window to poll the inputs rather than wait for an event to fire?This is much worse on Linux but the issue is still around on Windows.
I'm experiencing some problems with setting "onkeydown" dynamically.I want to pass some parameters to the function which recieves the event.So I did this:
mydiv.setAttribute('onkeydown','ShowInput(this,''+divID+'');
Only of course it doesn't work in IE.So I tried setting it the other way:
mydiv.onkeydown = ShowInput;
But that way I cannot pass parameters?
I want to switch a big function from a document.onkeydown = function to a document.onkeypress = function, or vice versa depeding on the type of browser.
However it is quite a big function so it's pretty much out of the question to have it appear in full twice.
Any ideas how to change the target event (onkeydown/onkeypress) without writing the whole function twice?
As a rule, I don't like frames but I'm stuck supporting a web that uses
them. I have a page, default.asp, that has a header and body frame: "fHead"
and "fBody". What I want to do is to prevent default.asp from ever loading
itself into "fBody". Some users still have code that causes this behavior.
So how, using javascript , can I do something to the effect of: "If
default.asp tries to load default.asp (itself) into fBody, then reload the
top-level browser window with what fBody is trying to load."
Make sense? Any thoughts?
my main page consists of frames.
i'm using ssi to include copyright info, tos, and a privacy statement at the bottom of each page.
the ssi is working on all regular (ie non-frame) pages, but it doesn't seem to be called or parsed on the main page.
a look at the source shows the ssi call just sitting there, doing nothing.
has anyone dealt with this before?
i didn't think it mattered if an ssi was called from within a framed page, but i might be wrong.
i suppose i can just use the actual html for that one page but i'd rather just be able to use ssi since it's used through out the rest of the site.
I have a frameset with two frames, and want to have a button in one
frame call print() in the other one:
This is the layout:
<frameset rows="*,40" frameborder="NO" border="0" framespacing="0">
<frame src="..." name="pritableText">
<frame src="..." name="printButton" scrolling="NO" noresize>
</frameset>
And, in printButton, I got this code:
<a href="#" onClick="parent.printableText.focus();
parent.printableText.print();">Print the page</a>
However, nothing happens in Netscape (7.01) and Firefox (0.8), and in IE (6)
I get an "error in the script". However, I do not identify the error.
Does anyone have a clue onto what's happening?
Let me just start by saying... and I truly do mean this... I HATE frames. Now that I have that out of my system, unfortnualty I do not have a choice and am forced to use the complex structure that I am so SO needing help with. My framesets look like this
---------------------
| title |
|--------------------
| buttons |
|--------------------
| base |
|--------------------
inside the base frame I have ANOTHER frameset... split into frmLeft and frmRight... now if your mind isnt tied into knots... I am sure this will do it... I have a button called 'add category', which is on the buttons frame. When I click the button, I get a popup with the details... I add the category details... then I need the frame titled frmLeft to refresh. Is this possible?
What's the trick to sharing cookies between frames? I can set and read a
cookie in the same frame, but if I try to read the cookie in another frame
it is undefined. :o(
There are some other cookies that are available in all frames, so I know
that the frames are capable of reading cookies, just not the ones that I set
in the other frame.
I believe that different browsers treat frames/iframes differently, and this
is one of the reasons to avoid using them in websites/applications.
Are there any other reasons to avoid them?
In my experience I find them clunky and messy to implement using javascript
and prefer to keep the whole web page as a single page.
I have to iframes within one page. When I triger action in one frame, I
need to update the content's of other frame's selection list.
How to access second frame's form element from my first frame in index
page?
Suppose I named my second frame "content", and form element is named
simply "form1". If I try to access that form by refering:
parent.content.document.form1, I get nothing at all.
I apologize if this is not the right group for this, but I saw some
other messages on this topic in here, so thought I'd take a shot in the
dark...
I am running IE 6, XP, SP2. When I connect to certain sites that use
inline frames, I get the message 'Your browser does not support inline
frames or is currently configured not to display inline frames.'
The aggravating thing is I recently bought multiple Dell computers,
have 2 in the room with me right now, haven't touched a thing
browser-wise on either, and it works fine on 1 and not the other. Same
OS, same IE version, etc.
How can I refresh a page in a separate frame. For example, when someone logs in in the main frmae, I want to refresh another frame to display info differently.
View 4 Replies View RelatedI am using a frameset with two frames that looks like this:
|------------------------------|
| |--------------------------| |
| | FRAME 1 | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| |--------------------------| |
| |
| |--------------------------| |
| | FRAME 2 | |
| | | |
| | <html><body> | |
| | <table><tbody> | |
| | <tr> | |
| | <td>Data 1</td> | |
| | <td>Data 2</td> | |
| | </tr> | |
| | </tbody></table> | |
| | </body></html> | |
| |--------------------------| |
|------------------------------|
FRAME 2 has no height, so it looks as if you only have 1 frame. I am
using FRAME 2 to retrieve data from my server.
I open up FRAME 1 with my webpage and leave FRAME 2 empty. When the
user request data I target FRAME 2 and the data is loaded into FRAME 2.
What I have been trying to do is this. Take the innerHTML of the FRAME
2's table and load it into a table in FRAME 1.
I am using frames - yes frames - I do not know how to do anything but and I
know that there is better out there......but........
I am trying to set a frame so that it automatically puts a page
corresponding to the month in that frame (a calendar) Code:
how do I create a print button that is on my index page that prints my
target page (and only the target page)
I tried
<INPUT onclick=window.print(); type=button value="Print This Page"
style="font-size: 10px; float:right">
But it prints the index page.