全般的日本語フォーラム

活動のフォーム画面からのページ遷移に関して

 
画像 Tomoyuki Nakamura
活動のフォーム画面からのページ遷移に関して
 

現在,自分はMoodle3.0を用いて活動モジュールを開発しております.


このたび,活動モジュールのフォームのページにおきまして,https://dev.onedrive.com/sdk/js-v7/js-picker-open.htm のページにあるような「onedriveファイルピッカ―」を作成しようと試みています.


無事,フォームのページにonedriveのファイルピッカ―を表示するためのボタンを生成することに成功できたのですが,そのボタンをクリックするとファイルピッカ―用の新たなウィンドウが表示されるとともに「保存してコースに戻る」のボタンを押したときと同じ挙動をとります.


このような挙動を起こさないようにするためにはどのようにすればよいのでしょうか.

お手数をおかけしますがよろしくお願いします.


・onedriveファイルピッカ―ボタンクリック前



・onedriveファイルピッカ―表示後(必須入力事項を入力する必要があるとなっているので,このフォームのページを遷移しようとしているのではないかと思います

.)



・フォームのプログラム(onedriveファイルピッカ―表示用のもののみ)

$mform -> addElement ( 'html' , '<div class="row">');

$mform -> addElement ( 'html' ,'<input id="downloadLink" type="hidden" value="download" name="actionType" checked="checked"> ');

$mform -> addElement ( 'html' , '</div>');

$mform -> addElement ( 'html' , '<div class="row">');

$mform -> addElement ( 'html' ,'<button onclick="javascript:launchOneDrivePicker();" title="Open to OneDrive">');

$mform -> addElement ( 'html' ,'<img src="https://js.live.net/v5.0/images/SkyDrivePicker/SkyDriveIcon_white.png" style="vertical-align: middle; height: 16px;">');

$mform -> addElement ( 'html' ,'<font class="">Open to OneDrive</font>') ;  

$mform -> addElement ( 'html' ,'</button>');

$mform -> addElement ( 'html' , '</div>');



$mform -> addElement ( 'html' , '<div id="pickerConsole" class="console">');


$mform -> addElement ( 'html' , '</div>');

 
評点平均: -
画像 Mitsuhiro Yoshida
Re: 活動のフォーム画面からのページ遷移に関して
DevelopersTranslators


課題モジュール (mod/assign) 設定画面の「課題名」入力欄を例に挙げます。

「課題名」に課題名を入力せずに「保存してコースに戻る」ボタンをクリックした場合、「課題名」入力欄の上に「必須」と表示されてしまいますが、下記プログラム修正でエラーメッセージ「あなたはここに値を入力する必要があります」を表示しないようにすることは可能です。

修正対象プログラム:
mod/assign/mod_form.php

修正箇所:
51行目

[ 修正前 ]
        $mform->addElement('text', 'name', get_string('assignmentname', 'assign'), array('size'=>'64'));
        if (!empty($CFG->formatstringstriptags)) {
            $mform->setType('name', PARAM_TEXT);
        } else {
            $mform->setType('name', PARAM_CLEANHTML);
        }
        $mform->addRule('name', null, 'required', null, 'client');
        $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');

[ 修正後 ]
        $mform->addElement('text', 'name', get_string('assignmentname', 'assign'), array('size'=>'64'));
//        if (!empty($CFG->formatstringstriptags)) {
//            $mform->setType('name', PARAM_TEXT);
//        } else {
            $mform->setType('name', PARAM_CLEANHTML);
//        }
        $mform->addRule('name', null, 'required', null, 'client');
        $mform->addRule('name', get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
        $mform->setDefault('name', ' ');


画像 Tomoyuki Nakamura
Re: 活動のフォーム画面からのページ遷移に関して
 

ありがとうございます.


原因がわかりました.

どうやら活動のフォームの画面は.クリックしたボタンのタイプが「submit」であればページを遷移することに気が付き,「submit」しないように設定するとうまくいきました.

お手数をお掛けしました.