I have thoroughly searched for a similar case before opening this but I really couldn't found an answer.
Scenario: I am trying to create a list of links to an internal JS function that will set the input of a form and post it to another php page that will be responsible for rendering graphs. Each link will pass a different parameter (namely a CIDR address) to said function.
Problem: The links are correctly created and, if I hover on them, I see the right parameter being passed but... the function simply won't work. It's not about the logic within it, It seems that it is not being called at all. Even if I put a simple alert("test");
inside it, the function is not executed.
Question: Considering the below code, what can cause this?
<script type="text/javascript">
function getGraph(ip){
document.getElementById('graph').ipaddr.value = ip;
document.getElementById('graph').submit();
}
</script>
...
<form id="graph" target="_blank" action="./graphs.php" method="post">
<input type="hidden" name="ipaddr" value="">
</form>
...
<?php
for ($row_no = $ev_ips->num_rows - 1; $row_no >= 0; $row_no--) {
$ev_ips->data_seek($row_no);
$row = $ev_ips->fetch_assoc();
$cidr = long2ip((float)$row['ip'])."/".$row['netmask'];
$cidrLink = "<a href=\"javascript:getGraph(".$cidr.");\">".$cidr."</a>";
$dest_ips = $dest_ips.$cidrLink.", ";
}
?>
...
<?php echo rtrim($dest_ips,", "); ?>