私はボタンとファンシーツリーを持つ単純なaspxページを持っています。Fancytree編集拡張無効aspxボタンをクリック
ボタンクリックイベントは、サーバー側でWebメソッドを実行してツリーの内容を保存します。 すべてが正常に実行され、データベースに情報をロードして保存できます。
私の問題は、ツリー上で編集エクステンションを使用するときです。私がEnterキーを押してノードの新しいタイトルを保存すると、特にそうです。 Enterキーを押すと、ボタンのクリックが無効になっているようです。誰かがaspxページでfancytreeの編集拡張を使用していますか?
新しいノードのタイトルを確定するためにEnterキーを押した後、ボタンのクリックがうまくいかない理由がわかりません。
ありがとうございます。ここで
はボタンです:ここでは
<asp:Button ID="Button1" runat="server" Text="Save" OnClientClick="SaveTree()" />
はjavascriptのです:
//Save tree
function SaveTree() {
//Get information
var actid = getUrlVars()["activityid"];
var name = $("#<%= txtName.ClientID %>");
var desc = $("#<%= txtDescription.ClientID %>");
var plantid = $("#<%= ddlPlant.ClientID %>");
if (Page_ClientValidate()) {
var tree = $("#tree").fancytree("getTree");
var d = tree.toDict(true);
var test = JSON.stringify(d);
$.ajax({
type: "POST",
url: "EditTree.aspx/SaveTree",
data: "{treeData:'" + test + "',name:'" + name.val() + "',desc:'" + desc.val() + "',actid:'" + actid + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
window.location = "Default.aspx?plantid=" + plantid.val();
}
});
}
}
そして、ここでは木である:
$(function() {
var me = getUrlVars()["activityid"];
$("#tree").fancytree({
ajax: { type: "GET", contentType: "application/json" },
source: { url: "EditTree.aspx/GetTreeData", cache: false, data: { activityid: me } },
activeVisible: true,
autoActivate: true,
autoScroll: true,
keyboard: true,
selectMode: 1,
extensions: ["edit", "dnd"],
edit: {
adjustWidthOfs: 4, // null: don't adjust input size to content
inputCss: { minWidth: "3em" },
triggerStart: ["f2"], //l'édition se fait à partir de la touche F2
beforeEdit: $.noop, // Return false to prevent edit mode
edit: $.noop, // Editor was opened (available as data.input)
beforeClose: $.noop, // Return false to prevent cancel/save (data.input is available)
save: $.noop, // Save data.input.val() or return false to keep editor open
close: $.noop, // Editor was removed
} etc...
私はちょうどclickイベントが常にヒットし、サーバー側のコードも実行されていることを知りました。問題は、ajax呼び出しの成功にあるようです。良い戻り値があっても、成功のjavascript警告が表示されない理由は何ですか? –