AJAX odkaz na action v .js souboru
- Muhahe
- Člen | 79
Ahoj,
chtěl jsem se zeptat jestli je možné AJAXem volat action presenteru z .js souboru. Mam javascriptovy soubor obsahujici obsluhu jqueryUI dialogu.
<script>
function showProjectDeleteConfirm(projectName,projectId){
$("#deleteProjectDialog").dialog({
resizable: false,
height: 140,
modal: true,
title: "Delete project?",
open: function(){
var innerText = "Project " + projectName + " will be deleted.";
$(this).html(innerText);
},
buttons:{
"Confirm" : function(){
--------------------
zde volat actionDeleteProject
--------------------
$(this).dialog("close");
},
Cancel: function(){
$(this).dialog("close");
}
}
})
}
</script>
A potreboval bych zavolat tento action, s tim ze bych mu v predal ID polozky ktera ma byt smazana
<?php
public function actionDeleteProject() {
$id = $this->getHttpRequest()->getPost('id_project_delete');
$this->projektyRepository->deleteProject($id);
$this->terminate();
}
?>
Editoval Muhahe (13. 5. 2015 16:49)
- Lukeluha
- Člen | 130
var url = {link presenter:deleteProject};
$.post(url, { id_project_delete : tve_id });
Edit: teď jsem si všimnul, že píšeš o Ajaxu, tak v tom případě bych využil knihovny:„https://componette.org/search/?q=vojtech-dobes%2Fnette-ajax-js“ od Vojty Dobeše a volal bych poté toto:
var url = {link presenter:deleteProject};
$.nette.ajax({
url: url,
data: { id_project_delete : tve_id }
)};
Edit2: pokud to máš v externím souboru, tak jak píše
@DavidMatějka buď využít data atributů, anebo na tlačítko
v modálním okne
přidat onclick="doSomething({link presenter:deleteProject)"
Editoval Lukeluha (14. 5. 2015 10:28)
- David Matějka
- Moderator | 6445
@Lukeluha to nebude fungovat v js souboru
@Muhahe na tohle jsou dobre data-* atributy, tedy ten odkaz napises v latte do data atributu a v js ho prectes