JavaScriptの条件文の応用について、アドバイスをお願いします。
if文は、ある条件を満たす時だけ命令を実行します。
if~else文は、ある条件を満たす時だけ命令を実行し、それ以外の場合はelse以下の命令を実行します。
if~else if~else文は、if~else文のある条件を複数用意したものです。
switch文は、if~else文を更に複数用意したものです。
それでは、ある条件"だけ"を満たす時だけ命令を実行させたい場合、どのように条件文を書けばいいのでしょうか。
具体的には、スレッド型掲示板で、「返信なし親記事だけ:空白」の時だけ投稿日時を表示するようにさせ、「返信あり親記事:oya」の時には投稿日時を表示させないようにしたいのです。
そして、返信がある場合には、投稿日時の欄に「最後のレス:end」を表示させるようにしたいのです。
掲示板は、http://bbs.sekkaku.net/bbs/23.htmlです。
20時間ぐらいあれこれやっているのですが、妙案が浮かびません。例えば、以下のような書き方もしています。
この書き方の場合、投稿日時は返信ありの場合も親記事の投稿日時が表示され、返信の投稿日時は、別の欄(返信数)に表示されてしまいます。
しかし、少し書き方を変えると、親記事の投稿日時が一切表示されず、返信の投稿日時は、別の欄(返信数)に表示されたままです。
【BASE】の関連部分
<SCRIPT type="text/javascript">
<!--
var mode = "$mode";
if (mode != " "){
document.write('$date_year/$date_mon/$date_day($date_week2) $date_hour:$date_min');
}
// -->
</SCRIPT>
【RES】の関連部分
<SCRIPT type="text/javascript">
<!--
mode = "$mode";
if (mode != "end"){
document.write('$date_year/$date_mon/$date_day($date_week2) $date_hour:$date_min');
}
// -->
</SCRIPT>
No.3ベストアンサー
- 回答日時:
こんにちわ
度々失礼します(o^-^o)
「返信記事の無い親記事のみの場合にのみ表示するようにする」場合の条件文
がわからないということですが
「それが親記事かどうか?」
「返信があるかどうか?」
のチェックはOKなのでしょうか?
これらがOKならあとはif文で
if( 親記事である && 返信無し ){
<・・処理・・>(日時の欄=投稿日時?)
}
こんな感じでいいような気がするのですが・・。
出来ませんか?(汗)
またまた見当違いでしたらすみません(>_<)
この回答への補足
度々の回答、ありがとうございます。
既に30時間ぐらい、あれこれとやっていますが、うまくいきません。
「それが親記事かどうか?」、「返信があるかどうか?」
のチェックは、以下の変数で行います。
記事の種類の変数($res)は、返信なし親記事:空白、返信あり親記事:oya、レス記事:res、最後のレス:end、となっています。
実際にここの掲示板のサンプル23を借りて、カスタマイズを試みないと、回答するのは難しいのかもしれません。
問題が解決するか否かに関わらず、しばらくしたらポイントの発行と締め切りを行います。もう少しお待ちください。
2度に及ぶ回答を頂き、ありがとうございました。
やはり、JavaScriptの知識だけでなく、実際にここの掲示板を使っていないと解決は難しいようです。
またの機会がございましたら、その際にはよろしくお願い致します。
No.2
- 回答日時:
こんにちわ(o^-^o)
私も
「返信なし親記事だけ:空白」
とかの部分がよくわからないのですが
日時の欄に、条件によって
「投稿日時」or「レス」
の表示を変えたいということですよね?
つまり
if(「返信なし親記事だけ:空白」の場合){
日時の欄=投稿日時;
}else if(「返信あり親記事:oya」の場合){
日時の欄=「最後のレス:end」;
}
ってことでは・・?
そんな簡単なことじゃないって?(汗)
失礼しましたC= C= \(;・_・)/
この回答への補足
さっそくの回答、ありがとうございます。
最初に回答頂いた方への補足の続きです。
サポートからの返事のうち、2番目にやることのやり方が分からないわけです。
「返信記事の無い親記事のみの場合にのみ表示するようにする」場合、条件文でどのように書けばいいのかが思いつきません。
if~else文を使うと、最初のifの段階で命令が実行されてしまいます。
複数の条件を付けるやり方では、うまくいかないようでした。
レンタル掲示板を無料で借りている場合、カスタマイズは1ヵ月30回までという利用制限があり、何度も試せないのがつらいところです。
私のJavaScriptに対する理解不足によりみなさんにご迷惑をおかけしまして、申し訳ありません。
なお、プログラム自体は、私のひとつ前の質問にあります。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=702504
依然として解決できないままなのですが、これ以上は新たな回答が付きそうにありません。
遅くなりましたが、回答を締め切らせて頂きます。
No.1
- 回答日時:
要約がつかめません。
もう少し簡単な例をあげると分かりやすいと思いますが・・・。
例えば、
if(){
if(){
}
}
のように、if文の中にif文とか、
if(hoge&&foo){
}
のように、複数の条件をつけるやり方で、いかがですか?
この回答への補足
さっそくの回答、ありがとうございます。
レンタル掲示板は、以下のような構造になっています。
BASE1(一覧表示の親記事)
RES1(一覧表示のレス記事:レス無しの場合は空白OK)
BASE3(一覧表示の親記事)
[以下2つは、レス書き込みフォームなど2階層目の表示]
BASE2(関連記事のみ表示の親記事)
RES2(関連記事のみ表示のレス記事)
ログ表示開始前のHTML
ログ表示開始後のHTML
そして、記事の種類の変数は、返信なし親記事:空白、返信あり親記事:oya、レス記事:res、最後のレス:end、となっています。
掲示板のサポートに問い合わせたところ、以下のような返事を頂きました。
「BASE1内に日付の表示する変数が御座いますが、これを同様にRES1にも設置します。
BASE1に設置する日付表示については、JAVAスクリプトを使用し、返信記事の無い親記事のみの場合にのみ表示するようにカスタマイズします。
RES1に設置する日付表示については、JAVAスクリプトを使用し、返信記事の最終記事のみに表示と言うようにカスタマイズします」。
長くなりますので、次に回答頂いた方への補足に移ります。
結局は解決できずじまいなのですが、このまま放置しておいても新たな回答が付きそうにありません。
遅くなりましたが、回答を締め切らせて頂きます。
アドバイス、ありがとうございました。
またの機会がございましたら、よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLのUPDATE文でサブクエリ
-
PHPとMysqlを使用した集計表の...
-
【PL/SQL】DATE型の時刻の表示...
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
select文の実行結果に空白行を...
-
【PL/SQL】FROM区に変数を使う方法
-
単一グループのグループ関数で...
-
1の行を固定した上でVBAを用い...
-
データ
-
count関数の値をwhere句で使用...
-
SQL文 複数実行
-
AccessのSQL文で1件のみヒット...
-
並べ替えについて
-
枝番の最大値とその前のデータ...
-
SQL*Loader Append
-
group byの並び順を変えるだけ...
-
int型フィールドにnullを登録で...
-
レコードの登録順がおかしい
-
SELECTした合計値をそのまま割...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP+MySQLで月ごとの数量を表...
-
日替わりメッセージを表示させ...
-
【PL/SQL】DATE型の時刻の表示...
-
MySQLのUPDATE文でサブクエリ
-
PHPとMysqlを使用した集計表の...
-
Strict Standards: date() ...
-
DB登録に関する日付の認識
-
EXCELマクロのSQL文での引用符...
-
PHPでMySQL内のデータの合計値...
-
JavaScriptの条件文の応用
-
postgresのカレンダーについて
-
掲載日と更新日の管理の仕方
-
SQLでMAXを使った
-
Smarty
-
JOINを使った文で、date > now();
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
select文の実行結果に空白行を...
-
テーブルの最後(最新)のレコー...
-
count関数の値をwhere句で使用...
おすすめ情報