Saket's Avatar
Banned
Ohh thats great, you have used ascii, but what about without using ascii, can we achieve it ?
WebspoonUK's Avatar, Join Date: Mar 2010
Newbie Member
In order to detect the shift key, you can add a hidden input box and set its value to 1 whenever the shift key is pressed from within your js function. Then simply check the value of the hidden input box and disallow/allow as necessary (You will need two events to do this - keydown and keypress).
Manojbijnori's Avatar, Join Date: Jun 2009
Go4Expert Member
This is an example for allowing only number in textbox I think this will help you
Code:
import java.awt.Container;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.PlainDocument;

public class ValidationTestFrame extends JFrame implements DocumentListener {
  JLabel label = new JLabel("I only accept numbers");
  private IntTextField intFiled;

  public ValidationTestFrame() {
    setTitle("ValidationTest");
    setSize(300, 200);
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    });

    Container contentPane = getContentPane();

    JPanel p = new JPanel();
    intFiled = new IntTextField(12, 3);
    p.add(intFiled);
    intFiled.getDocument().addDocumentListener(this);

    contentPane.add(p, "South");
    contentPane.add(label, "Center");
  }

  public void insertUpdate(DocumentEvent e) {
    setLabel();
  }

  public void removeUpdate(DocumentEvent e) {
    setLabel();
  }

  public void changedUpdate(DocumentEvent e) {
  }

  public void setLabel() {
    if (intFiled.isValid() ) {
      int value = intFiled.getValue();
      label.setText(Integer.toString(value));
    }
  }

  public static void main(String[] args) {
    JFrame frame = new ValidationTestFrame();
    frame.show();
  }

}

class IntTextField extends JTextField {
  public IntTextField(int defval, int size) {
    super("" + defval, size);
  }

  protected Document createDefaultModel() {
    return new IntTextDocument();
  }

  public boolean isValid() {
    try {
      Integer.parseInt(getText());
      return true;
    } catch (NumberFormatException e) {
      return false;
    }
  }

  public int getValue() {
    try {
      return Integer.parseInt(getText());
    } catch (NumberFormatException e) {
      return 0;
    }
  }
  class IntTextDocument extends PlainDocument {
    public void insertString(int offs, String str, AttributeSet a)
        throws BadLocationException {
      if (str == null)
        return;
      String oldString = getText(0, getLength());
      String newString = oldString.substring(0, offs) + str
          + oldString.substring(offs);
      try {
        Integer.parseInt(newString + "0");
        super.insertString(offs, str, a);
      } catch (NumberFormatException e) {
      }
    }
  }

}

Last edited by shabbir; 7Apr2010 at 17:51.. Reason: Code blocks
sharma.kapil28's Avatar, Join Date: Jul 2011
Newbie Member
use isNaN
for more detail with example
visit
urfusion.blogspot
FaysalAhmed's Avatar, Join Date: Oct 2011
Newbie Member
hi,
i used the code above and find the following error, event is not defined

how ever i used the following code and it worked fine,

Code:
 function onlyNumbers(evt)
            {
               /* if (!evt) {
                    evt = window.event;
                } */

                var e = window.event || evt; // for trans-browser compatibility
                var charCode = e.which || e.keyCode;

                if (charCode > 31 && (charCode < 48 || charCode > 57))
                    return false;

                return true;

            }
any idea about this issue?
tinytomhanks's Avatar
Banned
I am just starting java script, I'll use this code soon. thank you for sharing.
newindiasolutions's Avatar, Join Date: Apr 2012
Newbie Member
Web development is beautiful field and in search engine optimization it is more important. Because there is main work on website.
edwardallene's Avatar, Join Date: Apr 2012
Go4Expert Member
Is it possible to combine the characters as well as the numbers? What problem could fix your codes? Calculator? Digit Problem Solving? Anyway, this would add information to my HTML note. Thanks for the information.
c_user's Avatar, Join Date: Aug 2009
Contributor
The HTML tag goes like this:

Code:
<form action="#.html" onsubmit=" return validate();" name="myform" method="post" style="border:thin;" >
		<table align="center" bgcolor="#CCCCCC"; cellpadding="2px" style="text-align:left">
    <tr>	
            	<th>Contact No.</th><td><input type="text" id="cont" name="cont" /><font size="+0" color="#FF0000">*</font></td>
    </tr>
</table>
</form>
The javascript goes :
Code:
function validate()
{
if( Uize.isNaN(document.getElementById("cont").value))
	{
		alert("Invalid Number.");
		return false;
	}
}
>>>Happy coding <<<
shabbir like this