2011/04/14

必須フィールドにアラート

oscommerceの商品登録の際に、商品の数量と商品の型番のフィールドを
必ず埋めてもらうように伝えているが、どうも面倒がって入れてくれない。
全て入力されてこそSEO的にもカスタムショッピングカート的にも
100%の力を発揮するのに、、

ということで、入力しないと進めないように細工するか。
こういうことはjavascriptでも使う。

まずはアラートを出すところを作る。
function checkIfFilled() {
    if (document.forms[0].products_quantity.value=='') {
        window.alert('商品の数量が入力されておりません。');
        return(false);
        }
    if (document.forms[0].products_model.value=='') {
        window.alert('商品の型番が入力されておりません。');
        return(false);
        }
    return(true);
}
商品の数量はproducts_quantity 商品の型番はproducts_modelなので
こんな感じで良いかと。

これをcheck.jsというファイルにして保存。そしてアップロード。
(管理画面はEUCなので日本語混じったjsファイルなのでこれもEUCで保存。)
これは素直に/admin/categories.phpのhead内に記述。

次はフォーム側
/admin/function/html_output.phpに記述がある
// Output a form
  function tep_draw_form($name, $action, $parameters = '', $method = 'post', $params = '') { 〜〜〜〜〜〜〜

これのいちばん後ろあたりに  onsubmit="return(checkIfFilled());" と入れたい。
    $form .= '>';
    return $form;
  }
 これを
    $form .= ' onsubmit="return(checkIfFilled());">';

    return $form;
  }
 こんな感じにして完了。