確認画面の項目
こちらの掲示板は終了しました。ご質問などはサポートセンターをご利用ください。
メールフォームプロ使用です。
今年の抱負は貯金100万円です!
便利なCGIありがとうございます。完成度が高くて大変便利に使わせていただいております。
表題の件ですが実はあるCGIの中に和田様のCGIを置いております。
きちんと動作はするのですが少し問題があります。
メールフォームのhtmlにデフォルトでは
「~~~~name=お名前(必須)」や
「~~~~name=フリガナ」
といった形で割り振られ確認画面でこのnameを読みに行っていると思います。
しかし前述のCGIもこのnameを読みに行くようになっていてかつ日本語だと動作しないようです。そのためnameを
「~~~~name=name」や
「~~~~name=assumed_name」
といったアルファベットに変えました。動作はするのですが確認画面にはアルファベット表記になってしまいました。
neme をアルファベットにしかつ確認画面ではそれに対応した日本語を表示させるのはどうしたらよろしいのでしょうか?
mailform.jsが関連しているとは思うのですがお分かりになれば教えていただけると大変助かります。
- Re:確認画面の項目
- 和田 - 2009-04-20 09:08:25そいつぁムツカシーですよっ!もしやるのであればformのelementsのnameをひとつづつ置き換えていく必要があります。考えただけでもちょっとメンドクサイわけですが、ハッシュ配列とreplaceを使えばできないことはありません。
startupMailform?だかってのがmailform.js内にあると思うのですがそこのどっかのfor文でelementsの数だけまわってるとこがあると思うんですが、そこで
obj.elements[i].name = obj.elements[i].name.replace(okikae[obj.elements[i].name]);
みたいな処理を追加してokikaeハッシュ配列には
okikae["name"] = "お名前";
みたいなことをやったらできないことはありません。
- Re:Re:確認画面の項目
- unknown - 2009-04-21 10:54:30早速のご返信ありがとうございます。
見てみました。
したの方の
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if(document.forms[formNames].elements[kanaElements].value == document.forms[formNames].elements[kanaElements].defaultValue){
document.forms[formNames].elements[kanaElements].value = "";
}
if(keyCode > 64 && keyCode < 91){
window.document.forms[formNames].elements[kanaElements].value = window.document.forms[formNames].elements[kanaElements].value + alphabet[keyCode - 65];
for(i=roma.length;i > -1;i--){
window.document.forms[formNames].elements[kanaElements].value = window.document.forms[formNames].elements[kanaElements].value.replace(roma[i],kana[i]);
}
}
else if(keyCode == 8){
kanavalue = window.document.forms[formNames].elements[kanaElements].value;
window.document.forms[formNames].elements[kanaElements].value = kanavalue.substring(0,kanavalue.length - 1);
}
else if(keyCode == 32){
//window.document.forms[formNames].elements[kanaElements].value += " ";
}
else if(keyCode == 45){
window.document.forms[formNames].elements[kanaElements].value = window.document.forms[formNames].elements[kanaElements].value + "-";
for(i=roma.length;i > -1;i--){
window.document.forms[formNames].elements[kanaElements].value = window.document.forms[formNames].elements[kanaElements].value.replace(roma[i],kana[i]);
}
}
else if(keyCode == 109 || keyCode == 189){
window.document.forms[formNames].elements[kanaElements].value = window.document.forms[formNames].elements[kanaElements].value + "-";
for(i=roma.length;i > -1;i--){
window.document.forms[formNames].elements[kanaElements].value = window.document.forms[formNames].elements[kanaElements].value.replace(roma[i],kana[i]);
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
というところでしょうか?
for文が見当たらなかったのですが for ~ ではじまっているところでしょうか?
もう少しだけヒントをいただけるとスッキリ大臣が降りてきそうなのですが、、、
- Re:Re:Re:確認画面の項目
- 和田 - 2009-04-22 00:28:04そこはちがいます。
startupMailform関数の中です。
コメント欄