PHP初心者ですが、古いプログラムのコード解析をしています。
その中でいまいち理解できないコードがありましたので、今回質問させて頂きます。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー①
function update_set(){
var chkFDel;
if(document.getElementById("chkFDel")){
chkFDel = document.getElementById("chkFDel").checked;
if(chkFDel){
document.getElementById("chkFDel").value = "1";
}else{
document.getElementById("chkFDel").value = "0";
}
}else {
document.getElementById("chkFDel").value = "2";
}
document.getElementById("f01").submit();
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー②
if(trim($m_filePath)==""){
print("<INPUT type="file" id=\"filePath" name="filePath">");
}else{
print("<INPUT READONLY type="text" id="fileDel" name="fileDel" value="".$m_filePath">");
print("<INPUT type="checkbox" id="chkFDel" name="chkFDel" value=\"削除\">削除");
}
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
↑一部抜粋したものですが、
初心者の私から見るとたぶんチェックボックスが表示されてない場合に
("chkFDel").value = "2"を行うのではないかと思いますが、どうなのでしょうか?
詳しい方、ご教示の程よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
こんな風になにか適当なidをふった要素にvalueを代入してやるとよいです。
<script>
function check(id){
var n=document.getElementById(id);
var c4=document.getElementById("c4");
if(!n){
c4.value=id+"は存在しない";
}else if(n.type!=="checkbox"){
c4.value=id+"チェックボックスじゃない";
}else if(n.checked){
c4.value=id+"チェックされてる";
}else{
c4.value=id+"チェックされてない";
}
}
</script>
<form>
c1:<input type="checkbox" id="c1"> <input type="button" value="c1をチェック" onclick="check('c1')"><br>
c2:<input type="text" id="c2"> <input type="button" value="c2をチェック" onclick="check('c2')"><br>
c3:存在しない <input type="button" value="c3をチェック" onclick="check('c3')"><br>
c4:<input type="text" name="c4" id="c4";><br>
</form>
No.1
- 回答日時:
私が誤解してなければ(1)はjavascriptですよね?
if(!document.getElementById("chkFDel")){
document.getElementById("chkFDel").value = "2";
ここの箇所はNGですdocument.getElementById("chkFDel")というオブジェクトが
なければ・・・という条件にたいして
document.getElementById("chkFDel")という存在しないオブジェクトに
valueに2を代入するということで矛盾しています
へんな代入をするのではなく、別の処理をさせてください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
こちらはただの直列処理ですか?
-
PHPでこのコード自体に意味は無...
-
掲示板のセキュリティについて...
-
PHPSpreadsheetを使って関数を...
-
PHPとHTML+Xamppの掲示板で画像...
-
メールフォームのタイトルが文...
-
ワードプレスサイト PHP8.0.25...
-
php 確認表示画面で値をSESSION...
-
ワードプレスプラグイン MW WP ...
-
PHPで画像の渡しが上手く行きま...
-
php エラー
-
phpでPEAR::DBを使っているので...
-
phpでクラスのメソッドで同名の...
-
SFTPなどは使わないホームペー...
-
Q&Aサイトを作成していてURLの...
-
PHP一覧表示した項目にリンクを...
-
PHPのセッション有効期限について
-
php 完了画面の送信メールのコ...
-
PHPプログラムの間違い
-
index.phpって何ですか? 具体...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpでcookieがうまく保存されない
-
index.phpに入るには、どうすれ...
-
PHP8を使うと、大量のWarningが...
-
PHPSpreadsheetを使って関数を...
-
重複を防ぐ記述について教えて...
-
index.phpって何ですか? 具体...
-
awsにApacheとPHPを入れて、何...
-
phpでPEAR::DBを使っているので...
-
php 確認表示画面で値をSESSION...
-
PHPでユーザー情報を入力して簡...
-
ワードプレスサイト PHP8.0.25...
-
php 完了画面の送信メールのコ...
-
SFTPなどは使わないホームペー...
-
PHPのセッション有効期限について
-
csvファイルについて教えて下さ...
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPで訪問回数を表示するカウン...
-
ファイルアップロードに関して...
-
掲示板を作成しておりアップロ...
-
Q&Aサイトを作成していてURLの...
おすすめ情報
ー①のコード改修版がありましたので記載します。
var chkFDel;
if(!document.getElementById("chkFDel")){
document.getElementById("chkFDel").value = "2";
}else if(document.getElementById("chkFDel").checked){
document.getElementById("chkFDel").value = "1";
}else{
document.getElementById("chkFDel").value = "0";
}
同一の処理でしょうか?
回答ありがとうございます。コード①はjavascriptでございます。
chkFDelが存在しない場合に処理を分岐か別の処理を行うとした場合、
chkFDelではない変数を作り別のif文で判別をおこなうのでしょうか?
またchkFDelに入る値は別phpファイル↓で利用されています。
if($_POST["chkFDel"]=="0"){
}else if($_POST["chkFDel"]=="1"){
$sql .= "filePath='',";
}else if($_POST["chkFDel"]=="2"){
if($_FILES["filePath"]["name"] <>""){
$sql .= "filePath='" . $pathURL.$_FILES["filePath"]["name"] . "',";
}}
よろしくお願い致します。
いくつも回答いただき、本当にありがとうございます。
記載頂いたコードですが、確認サイトで添付画像のように動きました。
しかし、チェックボタンと参照ボタンが同時に表示されてしまいます...
コード的にはおそらくページ内にチェック(checkbox)又は参照(file)のどちらかが表示されて、
if文で表示されているものに対応する値がchkPDelに入る。ということではないのでしょうか?
間違って訳の分からない事かもしれませんが、回答お待ちしています。