システム・プログラム関連のメモや最新技術についてのメモを掲載

SpryメールアドレスのValidationの改造

2月 18th, 2010 admin Posted in JavaScript No Comments »

ある申し込みフォームを作る際、入力チェックのために
Adobe Spryを使うことになった。

以前にも少しだけ使ったことがあったので、何の問題もなく
一通り作り上げて終わったと思ってたんですが、ある指摘を
受けてしまいました。

内容は、「メールアドレスが入力出来ない」とのこと。。。
んー私のいくつかのアドレスは全てチェックして問題なかった
から変だなぁと思いつつも問題のアドレスを入力してみると
確かに入力出来なかった。

原因は、アドレスにスラッシュが入ってたから。
Spryの一部を改造するしか方法がなさそうでしたので、
方法を調べていたら既にやっている方がいました。

f-shin.heteml.jp/webstandard2007/sprywidget_sample.html

この方が試した方法をそのまま利用させていただき、無事
問題のアドレスも受け付けるようになりました。

改造したのは、ファイル名「SpryValidationTextField.js」の
213行目で

var rx = /^[\w\.-]+@[\w\.-]+\.\w+$/i;

のアットマークの前の正規表現を下記のように変更しました。

var rx = /^[\w\./?+_-]+@[\w\./?+_-]+\.\w+$/i;

以上、無事解決出来て良かったです。

※下記、修正したファイルのヘッダーに書かれているバージョン情報です。
// SpryValidationTextField.js – version 0.37 – Spry Pre-Release 1.6.1
//
// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.


エレメント属性を削除する/element.removeAttribute

2月 15th, 2010 admin Posted in JavaScript No Comments »

JavaScriptの経験が浅く未だ苦手意識が払拭出来ていない私は、
先ほど、エレメント属性を削除することも出来ず苦しんでしまった(苦笑

調べたら直ぐ出てきました。

element.removeAttribute('属性名');

とするだけでOK。

属性名は、href,onclick,relなどなど。。。

頑張って少しずつJavaScriptをマスターしたいと思います。
しかしJavaScriptマスターへの道は長く険しそうだ。。。

余談ですが、エレメントの変更はこんな感じ

element.setAttribute("href", "/変更先のパス/");

以上です。


javascript:void(0)についてメモ

1月 6th, 2010 admin Posted in JavaScript No Comments »

HTMLのaタグのhrefに「javascript:void(0)」を入れると、リンクを無効にしてくれるようです。
onclickで何かしらファンクションを実行したいときに使うといいみたい。

はっきり理由はしらないけど、onclickのファンクションの後に「return false」を入れた方がいいそうです
#javascript:void(0) だけだとリンクが無効にならないそうです

<a href="javascript:void(0)" onclick="test(); return false;">

こんな感じに使います。


エレメント属性を設定/prototypeメモ

1月 6th, 2010 admin Posted in JavaScript No Comments »

○JavaScriptの部分

function testFnc(){

	//prototypeを使わない場合:
	var imgTag = document.getElementById("sample");
	imgTag.setAttribute("src", "sample2.jpg");

	//prototypeを使う場合:
	$("sample").setAttribute("src", "sample2.jpg");
}

○HTMLの部分

<img src="sample1.jpg" id="sample" />

prototypeを使うと上記のように省略して書くことが出来る。


HTML INPUTタグのdisabled属性にはまった

4月 7th, 2009 admin Posted in JavaScript No Comments »

開発中のシステムのインターフェースの一部に
disabled属性が付いた、inputタグを使用してたところ
何故かこの値だけが、POSTで受け取れない。。。

ちょっと調べた結果、disabled属性を指定した要素は
使用不可という意味になるらしく、disabledを指定した
要素の値はサーバ側に渡らないそうです。

解決策として、送信する前に、JavaScriptでdisabledを解除してみた。

以下、スクリプトのメモ~~~~~

◇JavaScript部分
//フォーム送信前にdisabled解除
function undisabled()
{
document.getElementById(‘test1′).disabled = null;
document.getElementById(‘test2′).disabled = null;
}

◇HTML部分
<input type=”submit” value=”送信” onclick=”undisabled()” />