function CheckNum(value) {
var str = value;
if ( isNaN(str) == true ){
return false;
}
return true;
}
▼使用例
※数値でない場合(falseを返す場合)、フラグを立てる。
if ( CheckNum(form_value) == false) {
numFlg = 1;
}
- [JavaScript] DHTMLによる表示・非表示
<script language="JavaScript">
<!--
function show(id) {
if (document.all) {
document.all.item(id).style.visibility = "visible";
}
else if (document.layers) {
document.layers[id].visibility = "show";
}
else if (document.getElementById) {
document.getElementById(id).style.visibility = "visible";
}
}
function hide(id) {
if (document.all) {
document.all.item(id).style.visibility = "hidden";
}
else if (document.layers) {
document.layers[id].visibility = "hide";
}
else if (document.getElementById) {
document.getElementById(id).style.visibility = "hidden";
}
}
// -->
</script>
<a href="wwwssi.htm"
onmouseover="show('id1')"
onmouseout="hide('id1')">SSI入門</a>
<span id=id1 style="visibility:hidden">
<ilayer name=id1 visibility="hide">
- 「とほほのSSI入門」にジャンプします。
</ilayer>
</span>
<br>
<a href="wwwcgi.htm"
onmouseover="show('id2')"
onmouseout="hide('id2')">CGI入門</a>
<span id=id2 style="visibility:hidden">
<ilayer name=id2 visibility="hide">
- 「とほほのCGI入門」にジャンプします。
</ilayer>
</span>
<HTML>
<HEAD>
<Script Language="JavaScript" Type="text/javascript">
<!--
function test1(){
// 色の変更
document.all("T1").style.color="red";
// フォーム背景色の変更
document.all("T2").style.backgroundColor="red";
// inntertext の変更
document.all("T3").innerText = "kakikukuko";
// innerHTML の変更
document.all("T4").innerHTML = "<TEXTAREA>fadsfdaf<br>dfafdaf</TEXTAREA>"
}
// -->
</Script>
</HEAD>
<BODY>
<FORM NAME="f1">
<INPUT TYPE="TEXT" NAME="TEST1" VALUE="AAAAA" ID="T1">
<INPUT TYPE="TEXT" NAME="TEST2" VALUE="あいうえお" ID="T2">
<BR>
<DIV ID="T3">かきくけこ</DIV>
<BR>
<DIV ID="T4">abcdefg</DIV>
<INPUT TYPE="BUTTON" VALUE="テスト" onClick="javascript:test1();">
</FORM>
</BODY>
</HTML>
- [JavaScript] ブラウザの戻るボタンを無効にする
(戻りたくない画面に)
<SCRIPT>
history.forward();
</SCRIPT>
を記述しておく
<Script Language="JavaScript" Type="text/javascript">
<!--
function notes(eve){
if(document.all){ /*IEの場合*/
if(event.button == 2){
alert("右クリック禁止!");
return false;
}
}
if(document.layers){ /*Netscape4.Xの場合*/
if(eve.which == 3){
alert("右クリック禁止!!");
return false;
}
}
}
if(document.layers)document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=notes;
// -->
</Script>
<BODY oncontextmenu="alert('右クリックは禁止です。');return false;"
BGCOLOR="#C0C0C0" TEXT="#000000" ALINK="RED" VLINK="BLUE">
- [JavaScript] 新規Windowオープン(GET引数)
function new_window_open2 (a,b,c,d,e,f){
if (f==""){f="no";}
var w = window;
if ((w == window) || win_00.closed) {
w = open("",b,"width="+c+",height="+d+",toolbar=no,menubar="+f+",location=no,scrollbars="+e+",status=yes,resizable=yes");
w.document.write("<marquee>");
w.document.write("<span style='font:bold;color:#ff0000;font-size:10pt;'>");
w.document.write("ただいま処理しております。<br>しばらくお待ちください。");
w.document.write("</span>");
w.document.write("</marquee>");
w.location.replace(a);
} else {
w.location.replace(a);
}
w.focus();
return(w);
}
▼使用例
<Script Language="JavaScript" Type="text/javascript"><!--
function PAGE_TEST1(){
var w_url="PAGE_TEST1I"+
"?W_FORM_NAME1=form1.W_KYU_KUNITOSHI_CD"+
"&W_FORM_NAME2=form1.W_KYU_KUNI_MEI"+
"&W_FORM_NAME3=form1.W_KYU_TOSHI_MEI"+
"";
}
// --></Script>
function CheckZenkaku(str){
str2 = str.replace(/[ ]/g,"");
for (var i = 0; i < str2.length; i++) {
var c = str2.charCodeAt(i);
// Shift_JIS: 0x0 ~ 0x80, 0xa0 , 0xa1 ~ 0xdf , 0xfd ~ 0xff
// Unicode : 0x0 ~ 0x80, 0xf8f0, 0xff61 ~ 0xff9f, 0xf8f1 ~ 0xf8f3
if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {
return false;
}
}
return true;
}
▼使用例
if (CheckZenkaku(form_value) == false) {
message = message + "氏名に全角以外の文字が含まれています\nすべて全角文字で入力してください";
alert(message);
return false;
}
●ボタン連打を防ぐ
/////////////////////////////////////////////////////////
■使用方法 :以下の文をカットアンドペーストして使う
■説明 :サブミット時のボタン連打を防ぐ
/////////////////////////////////////////////////////////
<SCRIPT LANGUAGE="JavaScript">
<!--
sent = false;
function send_check(){
if(sent){
return false;
}else{
sent = true;
return true;
}
}
// -->
</SCRIPT>
●別例
二重投稿禁止<form onsubmit="for (i=0;i<this.length;i++) {if (this[i].type == 'submit') this[i].disabled = true}">
フォームのボタンは、たまにですが過敏に反応しすぎて二度押したように判断する時があります。
例えば掲示板なら、同じ記事を即時に二回送信してしまうわけです。
このパターンの二重投稿はJavaScriptで回避できるのでした。
- [JavaScript] 日付(YYYYMMDD)妥当性チェック関数
※ myGetYearとセットで使用
function CheckDate(value) {
var flg;
var year;
var month;
var date;
flg = value.match(/(\d{8})/);
if ( !flg ) {
return false;
}else{
year = value.substring(0,4);
month = value.substring(4,6);
date = value.substring(6,8);
newdate = new Date(year,month-1,date)
if ( myGetYear(newdate) != year || (newdate.getDate() != date) || (month != newdate.getMonth()+1)) {
return false;
}
return true;
}
}
function myGetYear(dobj) {
var year ;
year = dobj.getYear() ;
if (year <1900) {
year += 1900;
}
return year;
}
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT language="JavaScript">
<!--
function pageReplace(){
window.location.replace("history9.htm");
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<A href="javascript:pageReplace()">指定したページへ移動</A><BR><BR>
<FORM>
<INPUT type="button" value="指定したページへ移動" onClick="pageReplace()">
</FORM>
</CENTER>
</BODY>
</HTML>
- [javascript] WindowOpen用の共通関数
function new_window_open2 (a,b,c,d,e,f){
if (f==""){f="no";}
var w = window;
if ((w == window) || win_00.closed) {
w = open("",b,"width="+c+",height="+d+",toolbar=no,menubar="+f+",location=no,scrollbars="+e+",status=yes,resizable=yes");
w.document.write("<marquee>");
w.document.write("<span style=''font:bold;color:#ff0000;font-size:10pt;''>");
w.document.write("ただいま処理しております。<br>しばらくお待ちください。");
w.document.write("</span>");
w.document.write("</marquee>");
// w.location.href=a;
w.location.replace(a);
} else {
// w.location.href=a;
w.location.replace(a);
}
w.focus();
return(w);
}
最終更新:2008年01月04日 04:55