PHP
RT、同じページが複数回更新されます。正常な場合もあれば、半分しか表示されない場合もあれば、完全に空白の場合もありますページ全体
半分
このマシンのデバッグ時にはこの問題は発生しませんでした。それは外部ネットワーク上で公開されたときに起こりました。ドロップダウン ボックスの内容は、fopen で .tab ファイルを開き、ループを通じて配列に変換し、ループを通じて js 配列に値を代入することで読み取られます。ループは 1000 です。
set_time_limit(60*60*10) の設定はまだ無効です。 。 。
ご指導をお願いします、ありがとうございます。 。 。コードの一部を添付します
common.php<?phppublic static function readTabFile($fileName) { if (!file_exists($fileName)) { die("<b>404 File not found!</b>"); } $handle = fopen($fileName, 'rb'); $contents = fread($handle, filesize ($fileName)); //iconv("UTF-8","GBK", $contents); if(ord($contents) == 0xEF) { $contents = substr($contents, 4); } $rows = explode("\r\n", $contents); fclose($handle); $ret; $colNames = null; for($i = 0; $i < count($rows); $i++) { $row = $rows[$i]; if(!empty($row) && $row != "" && substr($row, 0, 1) != "#") { $col = explode("\t", $row); if(empty($colNames) || $colNames == null) $colNames = $col; else { $item; $itemId = (int)$col[0]; if(empty($itemId)) { die("..."); } for($j = 0; $j < count($col); $j++) { $value = $col[$j]; $item[$colNames[$j]] = $value; } $ret[$itemId] = $item; } } } return $ret; }?>test.php<?php $dir = "../goods.tab"; $table = Common::readTabFile($dir);?><script> var goodsTb = new Array(); <?php foreach($table as $key => $value) { echo "goodsTb[".$value["id"]."]=\"".iconv("GBK","UTF-8", $value["sz_name"])."\";"; } ?> function checkNum(i) { var sle_obj = document.getElementById('valueType' + i); var index = sle_obj.selectedIndex; var valueType = sle_obj.options[index].value; var num_obj = document.getElementById('count' + i); if(valueType == -1) { alert('请选择道具类型!'); } if(num_obj.value > 500) num_obj.value = 500; } var i = 1; function addFile() { var dv = document.getElementById("dvFiles"); var selectObj = document.createElement("select"); selectObj.name = "valueType"; selectObj.id = "valueType" + i; var sg = document.createTextNode("选择道具 "); dv.appendChild(sg); //创建select选项卡 var myOption = document.createElement("option"); myOption.setAttribute("value","-1"); myOption.appendChild(document.createTextNode("无")); selectObj.appendChild(myOption); for (var key in goodsTb) { var op = document.createElement("option"); op.setAttribute("value", key); op.appendChild(document.createTextNode(goodsTb[key])); selectObj.appendChild(op); } dv.appendChild(selectObj);....
ディスカッションへの返信 (解決策)
お願いします |! !
オンラインで待っています、うおおおおおお
大事にしてください
コードが正常であれば正常であると考えられる場合もあります
完全に空白とはどういう意味ですか?ページ全体に一言も書かれていませんか?
これのほとんどはネットワークの問題であり、プログラムのアルゴリズムが複雑すぎてブラウザのタイムアウト範囲内に応答がない場合を除き、コードとは何の関係もありません
単語はなく、ただ空白です。 。 。
アルゴリズムも複雑ではありません。 。 。たった 2 つの 1000 ループです。コードも投稿しました。 。 。
ただし、ネットワークに関連している必要があり、ローカル デバッグは正常です。 。 。
空白の理由は、js内にループがあり、jsの実行が途中で止まっているためです。 。 。解決策を探しています
空白の理由は、js内にループがあり、jsの実行が途中で止まっているためです。 。 。解決策を探しています
それは js のパフォーマンスの問題である可能性があります
たとえば、smarty テンプレートを使用し、配列を表示テンプレートに渡し、HTML を返すようにすることを強くお勧めします。ループで取得するか、フロントエンドに出力します
jsループは使用しないでください
空白になっているのは、js内にループがあり、jsの実行が途中で止まっているためです。 。 。解決策を探しています
それは js のパフォーマンスの問題である可能性があります
たとえば、smarty テンプレートを使用し、配列を表示テンプレートに渡し、HTML を返すようにすることを強くお勧めします。ループで取得するか、フロントエンドに出力する
js ループを使用しないでください
js についてはよくわかりませんが、ff ページの実行ソース コードから判断すると、前のコードがphpで取り出した配列は正しいのですが、jsを出力すると止まってしまいます。
Smarty テンプレートについて学んだことがありません。js に関する解決策はありますか?
空白の理由は、js内にループがあり、jsの実行が途中で止まっているためです。 。 。解決策を探しています
それは js のパフォーマンスの問題である可能性があります
たとえば、smarty テンプレートを使用し、配列を表示テンプレートに渡し、HTML を返すようにすることを強くお勧めします。ループで取得するか、フロントエンドに出力する
js ループを使用しないでください
js についてはよくわかりませんが、ff ページの実行ソース コードから判断すると、前のコードがphpで取り出した配列は正しいのですが、jsを出力すると止まってしまいます。
Smarty テンプレートについて学んだことがありません。JS に解決策はありますか?
JS には解決策と最適化方法が必要だと思います
しかし、ここでは言及できません
ループを実行するために PHP を使用することしか提案できません。
Smarty を理解していない場合でも、問題はありません。php で直接ループし、echo を使用して HTML を記述するだけです
なぜ js を使用してループし結合する必要があるのですか
echo $str; foreach($table as $key => $value) { echo 'var op = document.createElement(\"option\");'; echo 'op.setAttribute(\"value\", "'.$value["id"].'");'; echo 'op.appendChild(document.createTextNode("'.iconv("GBK","UTF-8", $value["sz_name"]).'"));'; echo 'selectObj.appendChild(op)'; } ?>
php を使用するHTMLを出力することはまだ機能しません。 。 。 。 。 。 。 。 。 。 。
PHP を使用して HTML を直接出力することはできませんか...
ページをざっと見たところ、バックグラウンドからデータを取得するための ajax があり、クエリと選択を送信することは完全に可能です。 js コードでなければなりませんか?
最初のもの ドロップダウン ボックスは PHP から直接出力された HTML ですが、追加ボタンがあり、クリックするたびに新しいドロップダウン ボックスが生成されます。 。 。 。現在の追加ボタンはJSで実装されています
追加をクリックすると、propsとitemを選択するドロップダウンボックスが表示されますね
違いがなければ直下にhtmlを挿入してください。前のドロップダウン リストが配置されている div は以上です
最初のドロップダウン ボックスのクラスが abc であり、ドロップダウン ボックスと次の入力ボックスが同じ div の下にあるとします
$(" .abc").parent().after($(".abc") .parent().html());
jquery は一文で実装されています
なんと言いますか? 業務内容が詳しくなるほど、理解できないのでこれ以上は言えません
実際、私が最終的に言いたいのは、それは完全に不要であるということです 複雑な JS ループを使用すると、ページが完全に表示されなくなります 実現するには多くの方法があります。これ
$(".abc").after($(".abc").html ()); 聞いてください、割り当てられたコンテンツの ID と名前を後で変更できますか?
そうですね、jquery を使用するのは非常に簡単です - -
$(" について質問します。 abc").after($(".abc").html()); 後続の割り当ての ID と名前を変更できますか?
もちろん変更できます。これは別の質問です
それはあなた次第です 構造この選択リストの内容と js ファイルの記述方法
たとえば、val="id1234" などの各項目のカスタム属性を定義します
次に、項目を選択するときに、js を使用して選択内容を取得します。この val中央のテキスト説明
は、後続の入力の値に保存されます (jquery セレクターを使用すると非常に便利です)
これは比較的単純な js アプリケーションです
$(".abc").after($(".abc").html()); で割り当てられた ID と名前を変更できるかどうか聞いてもいいですか
もちろん、これは別の質問です
それは、選択リストの構造と js ファイルの記述方法によって異なります
たとえば、各項目にカスタム属性を定義する場合は、次のようにします。 id1234"
次に、項目を選択するときに、js を使用して val と選択範囲の中央のテキスト説明を取得し、それを後続の入力の値に保存します (jquery セレクターを使用すると非常に便利です)
これは、js の比較的単純なアプリケーションです
jquery を使用したことがありません。いくつかの構文を理解するためにドキュメントを参照するだけです。 。 。
私が投稿した最初の写真は、商品を選択した後、数量を入力する必要があるというもので、選択の後にテキストが続きました。
[追加] をクリックした後、$(".abc").after($(". abc").html( )) このメソッドではselectとtextのidが元のものと同じになってしまいます。区別したいです。例えば変数iを使って制御し、iごとに1を加算します。追加した。 。
さらに、追加したい項目の後に削除ボタンを押すと、この項目を削除できます。参考としてコード例を教えてください。ありがとうございます - -
好吧,用jquery真的很简单- -
请问 $(".abc").after($(".abc").html()); 可以修改后面赋值内容的id跟name么
当然可以 这是另一个问题
看你的这个select列表的结构和你js文件的写法了
比如你给每一项定义一个自定义属性比如说叫val="id1234"
然后当你选择某一项时 用js获取选择项的这个val和中间的text描述
然后存入后边的input的value中 (用jquery选择器会很方便)
这是js比较简单的应用了.
jquery没有用过,只是参考文档能了解些语法。。。
我最早贴的图,就是我选择了物品后,需要填写数量,就是一个select跟一个text,
点击添加后,$(".abc").after($(".abc").html())这种方法,会导致select,text的id跟原来的一样,我想区分开来,比如用个变量i控制,每添加一个i就加1.。。
另外我想添加的项后面可以跟个删除按钮,点击删除可以删除本项,麻烦给个代码示例参考下,谢谢- -
抱歉才到家.
写了个简单的demo,只有增加和删除DIV的 选择后写入值的可以去网上搜下相关文章
<!doctype html><html lang="cn"><head> <meta charset="UTF-8"> <title>Document</title> <meta name="Keywords" content="" /> <meta name="Description" content="" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> function addDiv(){ var lastHtml = $(".abc:last").clone(); var item_id = $(".abc:last select").attr("id"); var input_id = $(".abc:last input").attr("id"); var new_item_id = "item_" + (parseInt(item_id.substr(5))+1); var new_input_id = "item_num_" + (parseInt(input_id.substr(9))+1); lastHtml.children("select").attr("name",new_item_id); lastHtml.children("select").attr("id",new_item_id); lastHtml.children("input").attr("name",new_input_id); lastHtml.children("input").attr("id",new_input_id); $(".abc:last").after("<div class='abc'>"+lastHtml.html()+"</div>"); } function delDiv(obj){ var i = $(".abc").length; if (i>1) { $(obj).parent(".abc").remove(); }else{ alert("至少选择一项"); } } </script></head><body> <div><!--以后换成form--> <div class="abc"> <select name="item_1" id="item_1" > <option value="0">无</option> <option value="1">剑气火灵幻影</option> <option value="2">神武至尊怒火</option> <option value="3">鬼舞玄冰法杖</option> </select> 数量 <input type="text" name="item_num_1" id="item_num_1" value="" /> <a href="javascript:void(0)" onclick="delDiv(this)">删除</a> </div> <button onClick = "addDiv()">添加</button> </div></body></html>
欢迎继续交流啊
好吧,用jquery真的很简单- -
请问 $(".abc").after($(".abc").html()); 可以修改后面赋值内容的id跟name么
当然可以 这是另一个问题
看你的这个select列表的结构和你js文件的写法了
比如你给每一项定义一个自定义属性比如说叫val="id1234"
然后当你选择某一项时 用js获取选择项的这个val和中间的text描述
然后存入后边的input的value中 (用jquery选择器会很方便)
这是js比较简单的应用了.
jquery没有用过,只是参考文档能了解些语法。。。
我最早贴的图,就是我选择了物品后,需要填写数量,就是一个select跟一个text,
点击添加后,$(".abc").after($(".abc").html())这种方法,会导致select,text的id跟原来的一样,我想区分开来,比如用个变量i控制,每添加一个i就加1.。。
另外我想添加的项后面可以跟个删除按钮,点击删除可以删除本项,麻烦给个代码示例参考下,谢谢- -
抱歉才到家.
写了个简单的demo,只有增加和删除DIV的 选择后写入值的可以去网上搜下相关文章
<!doctype html><html lang="cn"><head> <meta charset="UTF-8"> <title>Document</title> <meta name="Keywords" content="" /> <meta name="Description" content="" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> function addDiv(){ var lastHtml = $(".abc:last").clone(); var item_id = $(".abc:last select").attr("id"); var input_id = $(".abc:last input").attr("id"); var new_item_id = "item_" + (parseInt(item_id.substr(5))+1); var new_input_id = "item_num_" + (parseInt(input_id.substr(9))+1); lastHtml.children("select").attr("name",new_item_id); lastHtml.children("select").attr("id",new_item_id); lastHtml.children("input").attr("name",new_input_id); lastHtml.children("input").attr("id",new_input_id); $(".abc:last").after("<div class='abc'>"+lastHtml.html()+"</div>"); } function delDiv(obj){ var i = $(".abc").length; if (i>1) { $(obj).parent(".abc").remove(); }else{ alert("至少选择一项"); } } </script></head><body> <div><!--以后换成form--> <div class="abc"> <select name="item_1" id="item_1" > <option value="0">无</option> <option value="1">剑气火灵幻影</option> <option value="2">神武至尊怒火</option> <option value="3">鬼舞玄冰法杖</option> </select> 数量 <input type="text" name="item_num_1" id="item_num_1" value="" /> <a href="javascript:void(0)" onclick="delDiv(this)">删除</a> </div> <button onClick = "addDiv()">添加</button> </div></body></html>
欢迎继续交流啊 非常感谢,结贴!
交个朋友- -
都是新手 多交流
给你个小思路 看能帮到你不!
test.php<?php $dir = "../goods.tab"; $table = Common::readTabFile($dir); foreach($table as $key => $value) { echo "<option value='{$value["id"]}'>".iconv("GBK","UTF-8", $value["sz_name"])."</option>"; }?>test.html //加载jquery<select id="tools" name="tools[]"></select><a href="javascript:addTools();"></a><script>function autoTools(){ var i=$("#tools").length-1;$.get("test.php",function(data){$("#tools:eq("+i+")").html(data);});}function addTools(){ $("#tools").after("<select id='tools' name='tools[]'></select>").autoTools();}autoTools();</script>
好吧,用jquery真的很简单- -
请问 $(".abc").after($(".abc").html()); 可以修改后面赋值内容的id跟name么
当然可以 这是另一个问题
看你的这个select列表的结构和你js文件的写法了
比如你给每一项定义一个自定义属性比如说叫val="id1234"
然后当你选择某一项时 用js获取选择项的这个val和中间的text描述
然后存入后边的input的value中 (用jquery选择器会很方便)
这是js比较简单的应用了.
jquery没有用过,只是参考文档能了解些语法。。。
我最早贴的图,就是我选择了物品后,需要填写数量,就是一个select跟一个text,
点击添加后,$(".abc").after($(".abc").html())这种方法,会导致select,text的id跟原来的一样,我想区分开来,比如用个变量i控制,每添加一个i就加1.。。
另外我想添加的项后面可以跟个删除按钮,点击删除可以删除本项,麻烦给个代码示例参考下,谢谢- -
抱歉才到家.
写了个简单的demo,只有增加和删除DIV的 选择后写入值的可以去网上搜下相关文章
<!doctype html><html lang="cn"><head> <meta charset="UTF-8"> <title>Document</title> <meta name="Keywords" content="" /> <meta name="Description" content="" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> function addDiv(){ var lastHtml = $(".abc:last").clone(); var item_id = $(".abc:last select").attr("id"); var input_id = $(".abc:last input").attr("id"); var new_item_id = "item_" + (parseInt(item_id.substr(5))+1); var new_input_id = "item_num_" + (parseInt(input_id.substr(9))+1); lastHtml.children("select").attr("name",new_item_id); lastHtml.children("select").attr("id",new_item_id); lastHtml.children("input").attr("name",new_input_id); lastHtml.children("input").attr("id",new_input_id); $(".abc:last").after("<div class='abc'>"+lastHtml.html()+"</div>"); } function delDiv(obj){ var i = $(".abc").length; if (i>1) { $(obj).parent(".abc").remove(); }else{ alert("至少选择一项"); } } </script></head><body> <div><!--以后换成form--> <div class="abc"> <select name="item_1" id="item_1" > <option value="0">无</option> <option value="1">剑气火灵幻影</option> <option value="2">神武至尊怒火</option> <option value="3">鬼舞玄冰法杖</option> </select> 数量 <input type="text" name="item_num_1" id="item_num_1" value="" /> <a href="javascript:void(0)" onclick="delDiv(this)">删除</a> </div> <button onClick = "addDiv()">添加</button> </div></body></html>
欢迎继续交流啊 非常感谢,结贴!
交个朋友- - 哥们在吗?问个问题
ページをざっと見たところ、バックグラウンドからデータを取得するために ajax があり、クエリと選択を送信することは完全に可能です。行は js コードでなければなりませんか?
まず、ドロップダウン ボックスは php によって直接出力された html ですが、追加ボタンがあり、クリックするたびに新しいドロップダウン ボックスが生成されます。 。 。 。現在の追加ボタンはJSで実装されています
追加をクリックすると、propsとitemを選択するドロップダウンボックスが表示されますね
違いがなければ直下にhtmlを挿入してください。前のドロップダウン リストが配置されている div は以上です
最初のドロップダウン ボックスのクラスが abc であり、ドロップダウン ボックスと次の入力ボックスが同じ div の下にあると仮定します
$(" .abc").parent().after($(".abc") .parent().html());
jquery は一文で実装されています
なんと言いますか? 業務内容が詳しくなるほど、理解できないので、ここではこれ以上は言えません
実際、私が最終的に言いたいのは、それはまったく不要であるということです 複雑な JS ループを使用すると、ページが不完全に表示されます これを実現するには、さまざまな方法があります。 。 。

多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
