Aタグにサブミット設定を行うとサブミットボタンと同様に
自動エラーチェックや入力値の取得が可能となります。
入力項目を未入力にしたり、値を入力した状態で通常のリンクと
サブミット設定されたリンクをクリックすることにより、通常の
リンクとサブミット設定されたリンクの動作の違いが確認できます。
≪作成時注意点≫
・Aタグをクリックしたときにサブミットを発行する設定はsetSubmitScriptメソッドを
使用して行います。
【例】名前がsubmitLinkのAタグにサブミット設定を行う。
このときのFORMタグ名はformItemとする。
FieldMap field = getFieldMap();
field.setSubmitScript("submitLink", "formItem");
・Javaクラスのコンストラクタやサブミットボタン等がクリックされたときに動作する
アクションメソッド内でsetSubmitScriptメソッドを使用しサブミット設定を行います。
・サブミット設定を行うとそのAタグに設定してあるhref属性、onClick属性は
無効となります。
・setSubmitScriptメソッドで指定するFORMタグはループ中に存在してはいけません。
・実行時のブラウザの設定はJavaScriptが有効でなければ正しく動作しません。
ソースファイル
ASubmit.html サンプル画面のHTMLファイル
<html>
<head>
<title>pirka逆引きサンプル リンクでサブミットを行う方法</title>
</head>
<body>
<center>
<span style="color: #8080ff">pirka逆引きサンプル リンクでサブミットを行う方法</span><br>
<hr>
<form name="formItem" method="post">
<span name="errorMessage" style="color: #ff0000"></span><br><br>
<label name="labelInData" for="ID_inData">入力項目</label> (未入力チェック) : <input type="text" maxLength="12" size="20" name="inData" id="ID_inData"> ==><span name="outData"></span><br><br>
<a name="normalLink" href="">通常のリンク【エラーチェックは行われず入力値も取得できません】</a><br><br>
<a name="submitLink" href="http://www.yahoo.co.jp">サブミット指定されたリンク【エラーチェックが行われ入力値も取得できます】</a><br><br><br>
<span name="message" style="color: #00c000"></span><br><br>
</form>
<hr>
<a name="returnWindow" href="">戻る</a>
</center>
</body>
</html>
package jp.oarts.pirka.sample.instruction.is103400;
import jp.oarts.pirka.core.kernel.FieldMap;
import jp.oarts.pirka.core.util.check.PirkaChecker;
import jp.oarts.pirka.core.win.PirkaWindow;
/**
* pirka逆引きサンプル リンクでサブミットを行う方法
*/
public class ASubmit extends PirkaWindow {
/**
* コンストラクタ
*/
public ASubmit() {
FieldMap field = getFieldMap();
// チェッカー登録
field.setOfficialFieldName("inData", "入力項目");
addCheck("inData", PirkaChecker.required);
addErrorCheckReturner();
// Aタグにサブミット指定セット
field.setSubmitScript("submitLink", "formItem");
}
/**
* 共通前処理
*/
public void onPre() {
FieldMap field = getFieldMap();
// メッセージクリア
field.setValue("message", "");
}
/**
* 通常リンク
*/
public void normalLink() {
setData("通常のリンクのアクションメソッドを実行しました");
}
/**
* サブミットリンク
*/
public void submitLink() {
setData("サブミット指定されたリンクのアクションメソッドを実行しました");
}
/**
* 表示データのセット
* @param message メッセージ
*/
private void setData(String message) {
FieldMap field = getFieldMap();
field.setValue("message", message);
field.setValue("outData", field.getValueString("inData"));
}
/**
* 戻るリンク処理
*
* @return
*/
public PirkaWindow returnWindow() {
return null;
}
}