0

私は本当にこれを理解できず、答えを探すのに多くの時間を費やしましたが、何もうまくいきません..

フォームとphpを使用して、Joomlaの「カスタムHMTL」モジュールでコンタントページを作成しました。フィールドが正しく、入力されたemalが有効な電子メールであるかどうかを確認する関数を作成したいと考えています。そうでない場合は、警告メッセージを表示します。

私はphpとjavascriptを使ってみました。私の JavaScript は正常に動作すると思いますが、dossent は Joomla の「カスタム HTML」モジュールで動作するようです。

Javascriptを追加する方法を知っている人はいますか? またはこれを行う簡単な方法はありますか?JCEエディタとJoomla 2.5を使用しています

    function validate_form(thisform) {

     var v1 = document.getElementsByName('name');
     if (v1.value < '!') {
         alert('Feltet navn skal udfyldes');
         v1.focus();
         return false;
     }

     var regex = new RegExp('^[\\w-_\.+]*[\\w-_\.]\@([\\w]+\\.)+[\\w]+[\\w]$');
     if (!regex.test(thisform.mail.value)) {
         alert("Email-adressen indeholder ugyldige tegn\r\nEller er på anden måde ikke korrekt udfyldt");
         thisform.mail.focus();
         return (false);
     }

     var v2 = document.getElementsByName('message');
     if (v2.value < '!') {
         alert('Feltet beskrivelse skal udfyldes');
         v2.focus();
         return false;
     }
 }
 </script>

 <form action="http://test.webkjaer.dk/templates/tilbud.php" method="post" enctype="multipart/form-data" onsubmit="return validate_form(this)">
    <table style="width: 575px;" border="0" align="left">
        <tbody>
            <tr>
                <td>Navn <span style="color: #ff0000;">*</span> 
                    <input type="text" name="name" />
                </td>
                <td>E-mail <span style="color: #ff0000;">*</span> 
                    <input type="text" name="email" / >
                </td>

...

4

1 に答える 1

0

すべてのコードをカスタム モジュールに追加してアクションを未加工の php ファイルに設定するよりも、適切なモジュールにすることをお勧めします。これは、Joomla を使用する場合の不適切なコーディング標準であり、場合によってはセキュリティ上の脅威となる可能性があります。

Joomla Docs の Module Development を調べることをお勧めします。

http://docs.joomla.org/Module_Development

少し時間を節約して、モジュールと XML の詳細のコア ファイルを生成するモジュール ジェネレーターを使用することもできます。

http://joomjunk.co.uk/extras/module-generator.html

Javascript コードのインポートを追加するには、JFactory::getDocument(); を使用する必要があります。方法。以下に例を示します。

$document = JFactory::getDocument;

$js = 'var v1 = document.getElementsByName('name');
       if (v1.value < '!') {
          alert('Feltet navn skal udfyldes');
          v1.focus();
          return false;
       }';
$document->addScriptDeclaration($js);

お役に立てれば

于 2013-08-13T21:53:11.283 に答える