logo
12.04.2019 13:18
1
Ahoj,

potřeboval bych poradit:

potřebuji po stisknutí na odkaz provést dvě akce

1. akce je otevřít email přes mailto (a href=mailto test@test.cz)
2. akce je dotaz v změnit dotaz v sql ( dělal jsem jsem to takto href=?objednavka='.$data['id'])

samostatně každé funguje, ale obě nikoliv, zkoušel jsem to spojit druhý odkaz přes onclick=window.location.href= to funguje, ale vždy mi to vyhazuje nové okno, a bez něj to nefunguje,
není nějaké jednodušší řešení, jak to id dostat do php, a ponechat jen odkaz pro mailto.

Děkuji.

Co se právě děje na Webtrhu?

12.04.2019 13:44
2
Akce nepotřebujete udělat najednou. Po kliknutí na odkaz si zavolejte javascriptovou funkci, která např. přes ajax pošle data na server (tam upravíte v sql co potřbujete) a následně uživatele přesměrujte přes window.location na mailto: adresu.

Lze to udělat i tak, že máte běžný odkaz "href=?objednavka=$data['id']" a výstupem tohoto skriptu bude <script>window.location="mailto:xxx";</script>
12.04.2019 16:57
3
Čistě technicky to lze relativně snadno pomocí iframu viz. https://jsfiddle.net/Jehuty/3dez15vx/ (důkladně jsem to netestoval, pokud chcete mít kompatibilní kód s většinou prohlížečů, projeďte si JS přes https://babeljs.io/repl).

Nicméně mi přijde dosti hloupé toto dělat najednou a lepší by bylo tyto akce pořešit zvlášť.

Edit: Kód aktualizován pro IE11.
16.04.2019 15:46
4
Zkoušel jsem to nějak takto:

původní odkaz: <a href=mailto: test@test.cz >pošli email</a>

potřebuji po kliknutí provést to stejné + změnu statusu v databázi MySql,

asi nějak takto:
<a href=mailto: test@test.cz onclick="zmenStatus();">Změn status</a>

<script type="text/javascript">
function zmenStatus() {

var x = new XMLHttpRequest();
x.open("GET","http://www.test.cz/zmen_status.php",true);
x.send();
return false;

}
</script>

ve zmen_status.php mám nyní:

<?
echo""funguje;
?>

- bohužel nefunguje, zkoušel jsem Alert, abych ověřil, zda funguje js, a to funguje.


Díky za daru.
17.04.2019 22:33
5
Zdravím, co nějak takto?

Kód:
<a href="mailto: test@test.cz" onclick="zmenStatus(this, event);">Změn status</a>

<script>
function zmenStatus(obj, e) {
  e.preventDefault();

  var x = new XMLHttpRequest();
  
  x.onreadystatechange = function() {
    if (x.readyState === 4) {
        if (x.status === 200) {
           console.log('Proběhl');
           console.log(x.responseText); // Zde je odpověď požadavku
           window.location = obj.getAttribute("href"); // Zde přesměruje
        } else {
           console.log('Error');
        }
    }
	}
  
  x.open("GET","http://www.test.cz/zmen_status.php",true);
  x.send();

  return false;
}
</script>
18.04.2019 06:21
6
již vyřešeno jinak děkuji.
23.09.2019 19:32
7
Czy jest możliwość stworzenia funkcji php, która będzie wykonywana po naciśnięciu guzika stworzonego za pomocą HTML?

Chodzi o coś podobnego to tego poniżej, tylko ciało funkcji musi znajdować się w PHP, nie w JavaScript
code
<html>
<input type="button" onclick=funkcja1>
</html>

<script>
function funkcja1
...
</script>
/code