私はJQueryで質問があります。私は$.ajax()
を自分のコード(Function 1)
で使用して、フィールド名とシーケンス番号をctrllerに送り、$_POST['name']
と$_POST['sequenceno']
でデータを取得し、シーケンス番号なしでテーブルのフィールド名を更新します。プレビュー表示パネルが挿入されたフィールドを生成します.. 今私はフィールド名を再度変更しようとしています。生成された表示パネルのフィールドをクリックすると、対応する設定が開き、名前を変更しようとします。フィールドは今すぐ(Function 2)
同じAjaxが2回呼び出されました.JQuery
Function1
とFunction2
は同じです.. Function1
ではフィールド名とシーケンスはありません
Funciton 2では、同じフィールド名を送信したいFunc1
しかし、Function1(sequencenoはカウンタ値)である Function2(sequencenoはクリックされたdiv id(表示パネル))であるのに対し、
どのようにして同じfunc両方とも..私はsepを使う必要がありますか? arateのfuncs ..
も、私は別のURLを持つ2つの別々のfuncsと試みたが、
私のコードがある
//This is what i insert the field initially
$(".TextFieldSettings #fieldTitle").change(function(){
fieldname=$(".TextFieldSettings #fieldTitle").val();
$.ajax({
type: "POST",
url: "./server",
data: "name="+fieldname+"&sequenceno="+counter,
success: function(msg){
}//success
});//ajax
});//change
//After inserting to get the updated values in JSON format
var htm = $.ajax({
type: "GET",
url: "./viewforms",
async: false
}).responseText;
var myObject = eval('(' + htm + ')');
gettype=myObject.attributes[0]["type"];
getlabel=myObject.attributes[0]["labels"];
//showing in my DisplayPanel view
$("#labelstr"+counter+"").html(getlabel);
});//change
今 私は表示パネルの表示をクリックすると
$("#displayPanel div").live("click", function(){
div_id=$(this).attr("id");
var htm = $.ajax({
type: "GET",
url: "./getattributes/"+div_id+"",
async: false
}).responseText;
var myObject = eval('(' + htm + ')');
gettype=myObject.attributes[0]["type"];
getlabel=myObject.attributes[0]["labels"];
getsize=myObject.attributes[0]["size"];
if(gettype=='Text')
{
$(".TextFieldSettings").show(function(){
$(".TextFieldSettings #fieldTitle").val(getlabel);//showing the updated value
if(getsize=='100')
{
$("#fieldSize option:contains(Small)").attr("selected",true);
}
else if(getsize=='200')
{
$("#fieldSize option:contains(Medium)").attr("selected",true);
}
else
{
$("#fieldSize option:contains(Large)").attr("selected",true);
}
//Again i m changing the fieldname
$(".TextFieldSettings #fieldTitle").change(function(){
fieldname=$(".TextFieldSettings #fieldTitle").val();
alert(div_id);
$.ajax({
type: "POST",
url: "./editsettings",
data: "name="+fieldname+"&sequenceno="+div_id,
success: function(msg){
}//success
});//ajax
});//change in text value later*/
});//show
}//if type = TEXT
});//displaypanel Div clicked
正しく更新されません
しかし、今私は再びフィールド名を変更しようとすると、別のPOST関数editsettings
を書いていますが、実行はFunc2
の代わりにFunc2
(最初は変わります)の中に入ります。これは.... 注: $(".TextFieldSettings #fieldTitle").change()
は、私のPRG内で2回使用されています。これが原因で更新が間違ってしまうかもしれません。
ここで実際にどの部分が問題になりますか?単一の再利用可能な機能と2つの異なる機能を持つことができるかどうかを知りたいですか? – Fenton
2つの異なるfunction()しかし、両方の名前は $( "。TextFieldSettings #fieldTitle")のようになります。change(function(){}); 同じことだが目的が異なる – useranon