ホームページ  >  記事  >  バックエンド開発  >  バックグラウンドでのフォーム編集について質問する

バックグラウンドでのフォーム編集について質問する

WBOY
WBOYオリジナル
2016-06-20 12:36:39814ブラウズ


これはデータベースから周期的に読み取られるファイルです。左側の対応するコンテンツが編集状態に表示されるように変更するにはどうすればよいですか? (最初の行をクリックして編集すると、Zhang 氏が編集ボックスに表示され、2 行目が編集され、Chen 氏が編集ボックスに表示されます...) これは私が書いたコードですが、実際にはそうではありません。対応する行を変更する方法を知っている必要があります。
php コード
while($row=mysql_fetch_array($result)){
a34de1251f0d9fe1e645927f19a896e8
9f011308a5d335c03913973adea38828 scan id="OrderTime">  51f35b91545a0373c4fa3c66f77bb9b3
f558ea020202c3265793ea135ddf9d09
b90dd5946f0946207856a8a37f441edf
9f011308a5d335c03913973adea38828
0cbe664582165f809cdd7420343e9540
2328f74d4949b77a2763f009cd7261aeOK65281c5ac262bf6d81768915a4a77ac0
abf5f65aef8a4a6abdb0c3388617fe30)"/>
b90dd5946f0946207856a8a37f441edf
fd273fcf5bcad3dfdad3c41bd81ad3e5
}
js コード
4ec11beb6c39d0703d1751d203c17053
function changeOrderTime(){
var spanValue = $("#OrderTime").text(); 🎜> $("#OrderTimeInput").val(spanValue);
$("#OrderTimeInput").show();
$("#OrderTime");
$ ( "#changeOrderTime").hide();
$("#timeChangeOK").show();



ディスカッションへの返信 (解決策) 間違いが多すぎてルールに従っていません
少なくともこれは必要なもの

dhtml の ID は一意である必要がありますが、それができませんでした

jquery では ID の条件付き繰り返しが許可されていますが、上位レベルのコンテナーを指定する必要があります


ID を設定できます次に、パラメータを渡して INPUT Modified 値を取得します

<table><tr><td height="30px" align="center"><span id="OrderTime">张先生</span><input type="text" id="OrderTimeInput" style="display:none"/></td><td height="30px" align="center"><input class="changeOrderTime" type="button" value="修改"/><button style="display:none" id="timeChangeOK">确定</button><input type="button" value="删除" onclick="del_oper(1)"/></td> </tr><tr><td height="30px" align="center"><span id="OrderTime">陈先生</span><input type="text" id="OrderTimeInput" style="display:none"/></td><td height="30px" align="center"><input class="changeOrderTime" type="button" value="修改"/><button style="display:none" id="timeChangeOK">确定</button><input type="button" value="删除" onclick="del_oper(2)"/></td> </tr><tr><td height="30px" align="center"><span id="OrderTime">李先生</span><input type="text" id="OrderTimeInput" style="display:none"/></td><td height="30px" align="center"><input class="changeOrderTime" type="button" value="修改"/><button style="display:none" id="timeChangeOK">确定</button><input type="button" value="删除" onclick="del_oper(3)"/></td> </tr></table><script src=scripts/jquery-1.8.3.min.js></script><script>$(function() {  $('.changeOrderTime').click(function() {    var e = $(this).parents('tr');    e.find('#OrderTimeInput').val(e.find('#OrderTime').text());    e.find('#OrderTime').hide();    e.find('#OrderTimeInput').show();    e.find('#timeChangeOK').show();    $(this).hide();  });});</script>
d4c8f4ce43dada469c9856986d792abb button" value="Modify" onclick="changeOrderTime (1234)"/>


間違いが多すぎてルールが守られていません
少なくともそうする必要がありますこのように書かれています
dhtml の ID は一意である必要がありますが、それができませんでした

jquery では条件付きで ID を繰り返すことができますが、上位レベルのコンテナーを指定する必要があります[/quo


<table><tr><td height="30px" align="center"><span id="OrderTime">张先生</span><input type="text" id="OrderTimeInput" style="display:none"/></td><td height="30px" align="center"><input class="changeOrderTime" type="button" value="修改"/><button style="display:none" id="timeChangeOK">确定</button><input type="button" value="删除" onclick="del_oper(1)"/></td> </tr><tr><td height="30px" align="center"><span id="OrderTime">陈先生</span><input type="text" id="OrderTimeInput" style="display:none"/></td><td height="30px" align="center"><input class="changeOrderTime" type="button" value="修改"/><button style="display:none" id="timeChangeOK">确定</button><input type="button" value="删除" onclick="del_oper(2)"/></td> </tr><tr><td height="30px" align="center"><span id="OrderTime">李先生</span><input type="text" id="OrderTimeInput" style="display:none"/></td><td height="30px" align="center"><input class="changeOrderTime" type="button" value="修改"/><button style="display:none" id="timeChangeOK">确定</button><input type="button" value="删除" onclick="del_oper(3)"/></td> </tr></table><script src=scripts/jquery-1.8.3.min.js></script><script>$(function() {  $('.changeOrderTime').click(function() {    var e = $(this).parents('tr');    e.find('#OrderTimeInput').val(e.find('#OrderTime').text());    e.find('#OrderTime').hide();    e.find('#OrderTimeInput').show();    e.find('#timeChangeOK').show();    $(this).hide();  });});</script>
エラーが多すぎてルールが守られていません
少なくとも次のように記述する必要があります
ID は dhtml 内にある必要があります 一意ですが、それを行っていません
jquery は許可しますidの条件繰り返しですが、上位のコンテナを指定する必要があります


一つずつ書くとこんな感じになるのは分かります 実際のデータは数万件あります。こうやって書くんじゃないの?データベースからは周期的に読み取ることしかできませんが、読み出した後、この方法で編集する方法がわかりません。別の Web ページに移動して編集し、ID を渡すだけです。私は JS に詳しくありませんが、モデレータは特定のプログラムを作成できますか?

<table><tr><td height="30px" align="center"><span id="OrderTime">张先生</span><input type="text" id="OrderTimeInput" style="display:none"/></td><td height="30px" align="center"><input class="changeOrderTime" type="button" value="修改"/><button style="display:none" id="timeChangeOK">确定</button><input type="button" value="删除" onclick="del_oper(1)"/></td> </tr><tr><td height="30px" align="center"><span id="OrderTime">陈先生</span><input type="text" id="OrderTimeInput" style="display:none"/></td><td height="30px" align="center"><input class="changeOrderTime" type="button" value="修改"/><button style="display:none" id="timeChangeOK">确定</button><input type="button" value="删除" onclick="del_oper(2)"/></td> </tr><tr><td height="30px" align="center"><span id="OrderTime">李先生</span><input type="text" id="OrderTimeInput" style="display:none"/></td><td height="30px" align="center"><input class="changeOrderTime" type="button" value="修改"/><button style="display:none" id="timeChangeOK">确定</button><input type="button" value="删除" onclick="del_oper(3)"/></td> </tr></table><script src=scripts/jquery-1.8.3.min.js></script><script>$(function() {  $('.changeOrderTime').click(function() {    var e = $(this).parents('tr');    e.find('#OrderTimeInput').val(e.find('#OrderTime').text());    e.find('#OrderTime').hide();    e.find('#OrderTimeInput').show();    e.find('#timeChangeOK').show();    $(this).hide();  });});</script>

コードの問題点を指摘するためのテストの例を示しているだけです

データベースからループで読み取ることは、ルールに従えないことを意味するものではありません
コードの問題点を指摘するためのテストの例を示しているだけです

データベースからループで読み取ることは、ルールに従えないことを意味するものではありません

プログラムの記述に何か問題があることはわかっています。おそらく私は最初に次のような PHP コードを書きました。
while($row=mysql_fetch_array($result)){
a34de1251f0d9fe1e645927f19a896e8
9f011308a5d335c03913973adea38828
  51f35b91545a0373c4fa3c66f77bb9b3 /td>
9f011308a5d335c03913973adea38828
0274edf7fc56f57e6b3aefb695bfc001
182893625379fc725c0fa3f89023a9f7)"/> td>
5194ba175fd9c71e9a9f6e68244d73a8
}
変更機能を追加したいので、上記の編集効果を実現したいと考えています。コードの書き方がわかりません。モデレーターにこのコードの書き方を教えてもらえますか?

サンプル コードが提供されています

あなたが書いた内容が失敗した理由は、一意の ID の原則に違反したためです:

ループ内で d88b2f59785b7f84d5c68cb07d0c9a70
繰り返します

サンプルコードは提供されています

一意の ID の原則に違反したため失敗しました:
ループ内 a051229414421ea257e393f9e0f39fc5 > 必ずまた登場します[/quote
分かりました、最初からとてもわかりやすく答えていただきました! jQuery トラバーサル -parents() メソッドについてよくわかりません。Baidu で調べたところ、わかりました。


サンプル コードが提供されています あなたが書いた内容が失敗した理由は、一意の ID の原則に違反したためです。

ループ内で 293fef0f6222f1369e10478397de04f0

繰り返し表示されます

質問しますが、同じメソッド なぜデータは
$(function() {

$('.changeOrderTime').click(function() {
var e = $(this).parents('tr');
e.find('#OrderTimeInput').val(e.find('#OrderTime').text());
e.find('#OrderTime').hide(); e.find ('#OrderTimeInput').show();
e.find('.timeChangeOK').show();
$(this).hide()
; 🎜> } );
$(function() {
$('.timeChangeOK').click(function() {
var e = $(this).parents('tr');
e .find('#OrderTime').val(e.find('#OrderTimeInput').text());
e.find('#OrderTimeInput').hide(); .find( '#OrderTime').show();
e.find('.changeOrderTime').show();
$(this).hide()
; > }) ;

送信しませんでしたが、どうやって保存しますか?


まだ提出していないのですが、どうやって保存しますか?

「OK」をクリックした後に変更されたデータを取得し、データベースに保存する方法を知りたいだけです。

まだ提出していないのですが、どうやって保存しますか?

これで私が書いた完全なプログラムが完成しました。

function edit_oper(id){
$('.changeOrderTime').click(function(){ var e = $(this).parents('tr');

e.find ('#OrderTimeInput').val(e.find('#OrderTime').text());

e.find('#OrderTime').hide();

e.find('# OrderTimeInput').show();
e.find('.timeChangeOK').show();
$('. timeChangeOK').click(function(){
var e = $(this).parents('tr');
e.find('#OrderTime').text(e.find('#OrderTimeInput ').val());
e.find('#OrderTimeInput').hide();
e.find('#OrderTime').show(); .changeOrderTime').show();
$(this).hide();
var up = e.find('#OrderTime').text();
$.ajax({
タイプ: "GET"、
url:'edit.inc.php?action=oper&id='+id、
データ:{operator : up}、
success:function(msg){
if(msg == "成功"){
alert("変更成功");
}else{
if(msg == "エラー 1") ){
アラート("変更に失敗しました");
return
}
}
});
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:引用された質問次の記事:引用された質問