首先,我在那里尝试了Amar Ravikumar解决方案,但它仍然不起作用。
我有这段代码:
$form['button'] = array(
'#type' => "button",
'#id' => "mymoduleAjaxButton",
'#value' => t("Process"),
'#ajax' => array(
'callback' => "mymodule_form_callback",
'wrapper' => "message",
'method' => "html",
),
);
我有一个画布,其中包含许多我可以单击的图形内容。
当我单击特定元素时,我希望提交我的 ajax 表单(就像我按下按钮一样)。
这是js代码:
// circle is a Kinetic.Circle object.
circle.on("click touchcancel tap", function() {
var fill = onClick(posX, posY);
this.setFill(fill);
layer.draw();
});
function onClick(x, y) {
// Some stuff
jQuery("#mymoduleAjaxButton").trigger("mousedown");
return "red";
}
如您所见,我正在遵循 Amar 给出的建议(见第一行),但我不起作用。我的圆圈颜色发生了变化,但没有提交表单。
我尝试过的其他解决方案:
jQuery("#mymoduleAjaxButton").trigger("click"); // Like mousedown
jQuery("#mymoduleAjaxForm").submit(); // It refreshes my page... Not what i want, otherwise i wouldn't use ajax
jQuery(document).ready(function() { jQuery("#mymoduleAjaxButton").trigger("click"); });
/* Replace the click by mousedown doesn't change anything too,
moreover i believe it's useless here to add this here... */
有谁知道我该怎么做或者知道我做错了什么?谢谢。