Re: Ajax
Karl DeSaulniers <[email protected]>
| Newsgroups | gmane.comp.php.database |
|---|---|
| Message-ID | <[email protected]> |
I think you need to set it here.
<script type="text/javascript">
$(document).ready(function(){
$("#e1").dblclick(function(e) {
var id = $(this).attr('id'); ///This was missing
$.post("testClickcallback.php",
{"custnum":cusn}, function getCustNo(id)
{
cno = 'cust'+id;
cnm = "name"+id;
cname = document.getElementById(cnm).innerHTML;
cnum = document.getElementById(cno).innerHTML;
alert("For customer "+cname+" the number is "+cnum);
return;
}
// alert("subval");
//alert(subval);
,"html");
});
});
</script>
Best,
Karl
On Feb 20, 2013, at 7:39 PM, Ethan Rosenberg, PhD wrote:
> On 02/20/2013 08:30 PM, Karl DeSaulniers wrote:
>>
>> Hi Ethan,
>> Quick question. I'm either looking right over it or I do not see
>> how/where var id is set.
>> Where is this at?
>>
>> Code Eg:
>> cnm = "name"+id;
>>
>> Best,
>> Karl
>>
>>
>> On Feb 20, 2013, at 6:27 PM, Ethan Rosenberg, PhD wrote:
>>
>>> Dear List -
>>>
>>> I think we have to revisit this.
>>>
>>> The object is to click on an element of a table [name field] and
>>> retrieve the customer number[number field] send th eresult as an
>>> Ajax call to a callback function as a json string, and get back
>>> the customer number as a PHP variable.
>>>
>>> Code snippits:
>>> Start:
>>> <div id="e1">
>>>
>>> Table:
>>>
>>> $results = "<table border=4 cellpadding=5 cellspacing=55
>>> rules=all frame=box style='table-layout:fixed;'>";
>>> $results .= "<tr><th>Name</th><th>Number</th></tr>";
>>> // generate a table here
>>> for($i=0; $i<10; $i++)
>>> {
>>> $k = $i ;
>>> $results .= "<tr><td id='name$i' >$names[$k] </td><td
>>> id='nums$k'>$nums[$k]</td></tr>";
>>>
>>> }
>>> $results = "<table border=4 cellpadding=5 cellspacing=55
>>> rules=all frame=box style='table-layout:fixed;'>";
>>> $results .= "<tr><th>Name</th><th>Number</th></tr>";
>>> }
>>> $results .= "</table>";
>>> $results;
>>>
>>> retrieve number:
>>>
>>> <script type="text/javascript">
>>> var cusn;
>>> $(document).ready(function(){
>>> $("#e1").click(function() {
>>> cusn = $(this).attr('id');
>>> alert(cusn); // this always returns e1
>>> });
>>> });
>>> </script>
>>>
>>>
>>> Ajax Call
>>>
>>> <script type="text/javascript">
>>> $(document).ready(function(){
>>> $("#e1").dblclick(function(e) {
>>> $.post("testClickcallback.php",
>>> {"custnum":cusn}, function getCustNo(id)
>>> {
>>> cno = 'cust'+id;
>>> cnm = "name"+id;
>>> cname = document.getElementById(cnm).innerHTML;
>>> cnum = document.getElementById(cno).innerHTML;
>>> alert("For customer "+cname+" the number is "+cnum);
>>> return;
>>> }
>>> // alert("subval");
>>> //alert(subval);
>>>
>>> ,"html");
>>> });
>>>
>>> });
>>>
>>> </script>
>>>
>>> // receive error: document.getElementById(...) is null
>>>
>>> Callback function:
>>>
>>> <?php
>>> $json = Array();
>>> $json['custnum'] = $_POST['cusn'];
>>> echo json_encode($json);
>>> ?>
>>>
>>> //response:
>>>
>>> |
>>> ||Notice: Undefined index: cusn in /var/www/testClickcallback.php
>>> on line 5
>>> ||
>>> ||Call Stack:
>>> || 0.0005 126856 1. {main}() /var/www/
>>> testClickcallback.php:0
>>> ||
>>> ||
>>> ||Variables in local scope (#1):
>>> || $json = array ()
>>> ||
>>> ||{"custnum":null}
>>>
>>> Now what??|||||
>>>
>>> Ethan
>>>
>>>
>>> --
>>> PHP Database Mailing List (http://www.php.net/)
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>
>> Karl DeSaulniers
>> Design Drumm
>> http://designdrumm.com
>>
> ==============
> Karl -
>
> I do not see how/where var id is set
>
> $results .= "<tr><td id='name$i' >$names[$k] </td><td id='nums$k'>
> $nums[$k]</td></tr>"
>
> ^^^^^^^ ^^^^^^^^
>
> Is this the problem?? Poor formatting of the table row?
>
> Ethan
Karl DeSaulniers
Design Drumm
http://designdrumm.com