• 締切済み

WordPressの質問(q1023581)の続

dell_OKの回答

  • dell_OK
  • ベストアンサー率13% (741/5649)
回答No.14

・何故 Array.from(divImagePartial.children).forEach(x => x.style.float = "left"); は子要素を取得しているのでしょうか? その子要素とは、ここで用意されている divImageCameraIcon です。 ---- const divImagePartial = document.createElement("div"); // div (子)を生成 (省略) for (let i = 0; i < blobType.length; i++) { (省略) const divImageCameraIcon = document.createElement("div"); // div (孫)を生成 divImageCameraIcon.classList.add("image-camera-icon"); // classの追加 divImageCameraIcon.appendChild(changeImg); // image_camera_icon (子要素) の末尾に changeImg を追加 divImagePartial.appendChild(divImageCameraIcon); // image_partial (親要素) の末尾に image_camera_icon を追加 (省略) } (省略) if (image_count == 3) { Array.from(divImagePartial.children).forEach(x => x.style.float = "left"); ---- divImageCameraIcon はこのfor()ループ内で定義した定数のためループの外では使えません。 そのため、ループの外で定義した親要素 divImagePartial から、子要素を取得して処理しています。

php_learn
質問者

お礼

回答が遅くなり申し訳ありません。 確認画面のメッセージの文字の大きさをCSSで指定したのですが、CSSが消えてしまいます。 何故文字の大きさのみCSSが消えてしまうのか原因は分かりますでしょうか? ※最新コード https://wandbox.org/permlink/CPSltlejs5huZ47M ※該当ページ https://www.irasuto.cfbx.jp/%e8%b3%aa%e5%95%8f%e6%8e%b2%e7%a4%ba%e6%9d%bf/

php_learn
質問者

補足

Q.divImageCameraIcon はこのfor()ループ内で定義した定数のためループの外では使えません。 そのため、ループの外で定義した親要素 divImagePartial から、子要素を取得して処理しています。 A.解説ありがとうございます、for()ループ内で定義しているからなのですね。 勉強になりました覚えておきます。

関連するQ&A

  • WordPressの質問(q10082875)の続

    質問掲示板を作成しているのですがSQLでページの遷移がうまくいきません。 何か不足しているコードがあるのでしょうか? ※該当コード echo '<input type="hidden" name="action" value="confirmationform">'; ※質問掲示板 https://wandbox.org/permlink/07uPWjVPmU6rwrVJ ※お問い合わせページ(遷移可能な元のコード) https://wandbox.org/permlink/8BiCLMilyhjCC2qp

    • ベストアンサー
    • PHP
  • WordPressの質問(q10217484)の続

    アップロードされたカメラ画像を非表示にするコードを追加したのですが、表示するためのURLを追加するコードが抜けており追加いたしました。 上記とは別にアップロードされたファイルをエンコードするコードも抜けているのではないかと思っております。 旧コードでは対象ファイルではない場合にアラートで警告ダイアログを表示するコードとは別にエンコードするコードがあるため最新コードにも追加すべきではないかと考えております… 下記のコードは追加すべきでしょうか?(single-input.php の15行目から38行目まで) $attach = []; if (!empty($_SESSION['attach'])) { foreach ($_SESSION['attach']['data'] as $i => $data) { if (!empty($data)) { $base64 = base64_encode($data); } $type = $_SESSION['attach']['type'][$i]; switch ($type) { case 'image/jpeg': case 'image/png': $attach[] = '<img style="height: 100px;" src="data:'.$type.';base64,'.$base64.'">'; break; case 'video/mp4': $attach[] = '<video style="height: 100px;" controls src="data:'.$type.';base64,'.$base64.'">'; break; case 'application/pdf': $attach[] = '<iframe style="height: 100px;" src="data:'.$type.';base64,'.$base64.'"></iframe>'; break; default: $attach[] = ''; break; } } } ※最新コード https://wandbox.org/permlink/my2wffcXlhMQZFvW ※旧コード https://wandbox.org/permlink/cfzsJgBFcYrcIDI1

    • ベストアンサー
    • PHP
  • WordPressの質問(q10145776)の続

    不正なトークンと表示されるため、single-regist.phpから下記のコードを削除したのですが、そちらは問題ないでしょうか? 送信時にトークンが必要だと思いますので、登録結果画面には必要ないのではないかと考えております。 //確認画面でデータが安全であることが確認された上で$_SESSIONを経由して画面遷移するが、登録結果画面へは不正アクセスできるから必須 if (empty($_SESSION['token']) || empty($_POST['token']) || $_SESSION['token'] !== $_POST['token']) { exit('不正トークン'); } ※single-regist.phpの11行目からトークンのコードになります https://wandbox.org/permlink/vCbUEZFcvQf2n1DK

    • ベストアンサー
    • PHP
  • WordPressの質問(q10245849)の続

    回答が遅れてしまい申し訳ありません、こちらが最新の質問になります。 質問入力画面に画像をアップロードした場合と動画をアップロードした場合で大きさが変わってしまうのですが、統一することは可能でしょうか? こちらは以前 dell_ok さんにお聞きした覚えがあり難しいとアドバイスを頂いた記憶があるのですが… 質問入力画面にファイルをアップロードする場合クリックして選択する方法だけでなくドラッグ&ドロップも追加することは可能でしょうか? ※最新コード https://wandbox.org/permlink/IM6IiiwxaS6eXwXY

  • WordPressの質問(q10187929)の続

    blob を使いファイルアップロード機能を考えてみたのですが、画像と動画をどのように識別させるのかが分かりませんでした。 データ URI 形式で表示する方法と、Blob URL で表示する方法の2種類があるようです。 Data URI で動画を表示する方法は対応ブラウザの関係で避けた方が良いと思っております。 アドバイスお願い致します。 ※blob.php にコードを追加いたしました。 ※最新コード https://wandbox.org/permlink/PSXWslcYugaPqtjK ※参考サイト https://mixltd.jp/blog/how_to_make_thumbnail_from_input_video/ https://lab.syncer.jp/Web/JavaScript/Snippet/17/ https://qiita.com/azu369yu/items/8998e1e1536a5acfb7b3

    • ベストアンサー
    • PHP
  • WordPressの質問(q10044117)の続

    タイトルから表示されていない状態ですが、先にページナビの修正から行うのでしょうか? ※現在表示されている記事 https://imgur.com/IupD3AB.jpg ※現在のコード https://wandbox.org/permlink/VReuDuARbgCZ1OJM ※確認の際に使用したコード SELECT distinct post.* FROM wp_posts AS post INNER JOIN wp_postmeta AS meta ON post.ID = meta.post_id WHERE meta.meta_key = 'single_rss_feed1' AND post.post_type = 'post' AND post.post_status = 'publish' AND (post.post_title LIKE '%イ%') ORDER BY post.post_date DESC

    • ベストアンサー
    • PHP
  • WordPressの質問(q10072766)の続

    再度コードを考えてみたのですが、コードを閉じずに1括りにすることがあまりないのでどうすればよいか分かりません。アドバイスお願い致します。 https://wandbox.org/permlink/XTZwcEAEmKmh5oLZ ※全質問からお聞きしたいこと サイトキー、シークレットキーをユーザー側に隠して使用する方法が現状2通りあるようですが、 1つ目の方法であるモジュールの作り方が良くわからない状態です。モジュール自体はcpanel(レンタルサーバー)から作成できるようですが、 それがキーとして役割を果たすのかというのが心配です。 2つ目の方法である環境変数とかにして非公開ディレクトリから読み込むという方法も見つけたのですが、調べても意味が理解できませんでした… .htaccessファイルを使用するということでしょうか? アドバイスお願い致します。 https://knowledge.spirers.jp/article/development/detail/2186 https://zenn.dev/k_tabuchi/articles/d20de044bca3f7 ※該当コード https://wandbox.org/permlink/8DZ3f3aOyblnvWWT ※カスタムモジュールについて https://vtiger-mautic.info/vtigercrm-new-module/

    • ベストアンサー
    • PHP
  • WordPressの質問(q10135525)の続

    名前に50文字で文字数制限を設けたいのですが、メッセージの500文字の文字数制限のコードとまとめるべきでしょうか? ※現在のデザイン http://www.irasuto.cfbx.jp/%e6%8e%b2%e7%a4%ba%e6%9d%bf%e3%83%86%e3%82%b9%e3%83%88/ ※現在のコード https://wandbox.org/permlink/9nnn2wsXBXo9CgdG ※single-index.php const NAME_MAX_LENGTH = 50; ※single-input.php <div id="name_partial"></div> <script> const name_partial = document.getElementById('name_partial'); name.addEventListener('input', contactForm); contactForm(); function contactForm() { const contactsignature = <?php echo NAME_MAX_LENGTH; ?> ; const input = contactsignature - name.value.length; if (input >= 0) { name.innerHTML = 'あと<strong>' + input + '</strong>文字'; submit_button.disabled = name.value.length === 0; } else { name.innerHTML = '<strong class="err">' + -input + '</strong>文字超過しています'; submit_button.disabled = true; } } </script>

    • ベストアンサー
    • PHP
  • WordPressの質問(q10155839)の続

    var_dump($row);で確認したところ登録結果画面と質問表示画面でNULLが表示されております。 コードをたどったところ質問表示画面の$sql = 'SELECT * FROM sortable WHERE URL=%s';で取得に失敗しているのではないかと考えたのですが、エラー原因は分かりますでしょうか? ※データベースにURLは格納されております。 https://imgur.com/5RmSq2Y.jpg ※該当コード $url = substr($_SERVER['REQUEST_URI'], -36); $sql = 'SELECT * FROM sortable WHERE URL=%s'; $query = $wpdb->prepare($sql, $url); $rows = $wpdb->get_results($query); var_dump($row); if (empty($rows)) { echo '質問がみつかりません'; exit; } ________________________________________________________________________ Q.テーブルにカラムを追加して保存するようにしてみてください。 A.アドバイスありがとうございます、下記コードでIPアドレスは保存できるようですが、入力画面、確認画面、表示画面どのタイミングで追加すべきでしょうか? $ip_address = $_SERVER["REMOTE_ADDR"]; //文字列形式から数値 に、数値から文字列形式に変換 $ip_long = ip2long($ip_address); -- ipアドレスのテーブル CREATE TABLE tbl_ips ( `ip` INT(10) NOT NULL ); $sql = "INSERT INTO tbl_ips ( ip ) VALUES ( INET_ATON( $ip ) );" Q.こんな感じになります。 メッセージの一部、については以前やったことがあると思いますので、$row->messageから取得するようにしてみてください。 A.アドバイスありがとうございます、メッセージの一部を取得というコードを考えてみました。1点質問があるのですが、<a href="'.$url.'"></a>を名前、画像、メッセージ全体に1つだけかけたい場合どのようなコードにすればよいのでしょうか? ---- <?php /* Template Name: 質問一覧画面 */ get_header(); $sql = 'SELECT * FROM sortable'; $query = $wpdb->prepare($sql); $rows = $wpdb->get_results($query); $upload_dir = wp_upload_dir(); foreach ($rows as $row) { $url = home_url('質問表示画面?'.$row->URL); $pattern = $upload_dir['basedir'].'/attach/'.$row->ID.'_0.*'; $files = glob($pattern); if (empty($files)) { $view = '<img src="ダミー画像パス">'; } else { $info = pathinfo($files[0]); $attach_url = $upload_dir['baseurl'].'/attach/'.$info['basename']; $ext = $info['extension']; switch ($ext) { case 'jpeg': case 'png': $view = '<img style="height: 50px;" src="'.$attach_url.'">'; break; case 'mp4': $view = '<video style="height: 50px;" src="'.$attach_url.'">'; break; case 'pdf': $view = '<iframe style="height: 50px;" src="'.$attach_url.'"></iframe>'; break; default: $view = ''; break; } } echo '<div><a href="'.$url.'">'.$row->namae.'</a></div>';    echo '<div>'.$view.'</div>'; echo '<div>'.mb_strimwidth($row->message, 0, 38, "・・・").'</div>'; } ---- 昨日教えて頂いた質問掲示板 登録結果画面のタイトルから飛べるページをリンク先として考えておりました。 http://www.irasuto.cfbx.jp/%e9%9b%91%e8%ab%87%e6%8e%b2%e7%a4%ba%e6%9d%bf%e3%80%80%e7%99%bb%e9%8c%b2%e7%b5%90%e6%9e%9c%e7%94%bb%e9%9d%a2/

    • ベストアンサー
    • PHP
  • WordPressの質問(q10197680)の続

    DOM-based XSS に関するコードについて考えているのですが、関数の「巻き上げ」が可読性と保守性を損なうようで funcion について修正すべきか考えております。 関数宣言を関数式にして const 変数に代入する方法で修正してみたのですが問題はなさそうでしょうか? 57、62、109、212行目を変更いたしました。 ※関数宣言での巻き上げについて https://qiita.com/kerupani129/items/b2c3619856b048c13394 ※DOM-based XSSのシンクとして働く機能 https://gihyo.jp/dev/serial/01/javascript-security/0006 ※以前アドバイス頂いたコード ※元のコード function lengthCheck() { const left = this.dataset.maxlength - this.value.length; if (left >= 0) { this.nextElementSibling.innerHTML = 'あと<strong>' + left + '</strong>文字'; this.dataset.submit_disabled = this.value.length === 0; } else { this.nextElementSibling.innerHTML = '<strong>' + -left + '</strong>文字超過しています'; this.dataset.submit_disabled = true; } ↓ ※エスケープ処理 function escapeHTML(値) { _ var a = document.createElement('span'); _ a.textContent = 値; _ return a.innerHTML; } 要素.innerHTML = '<strong>' + escapeHTML(文字列) + '</strong>'; ※最新コード https://wandbox.org/permlink/ozofFRK7rkjCXV76