Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #22797
| From | hipa <hipa@telenet.be> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Re: pass to function |
| Date | 2014-01-26 15:31 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <lc39pe$uuo$1@dont-email.me> (permalink) |
| References | <lc0ugb$mqb$3@dont-email.me> |
Hello
Thanks for the very fast reply!
> That is not a problem description. Next time, show what you have tried, say
> what you expected to happen and why, and what happened instead. And please
> post using your real name.
What I have tried is actually in my original post.
> <input type="text" onchange="getInvoices(this)" />
> Given the code above, you are either calling this function the wrong way or
> the function does not make use of the “elm” argument. Your code is wrong
> either way.
It's not my code actually, I'm experimenting with the CodeIgniter framework. I'm not an experienced developer, that's why I'm here :)
I've got it working like this.
<input type="text" name="client_id" id="client_id" onchange="getInvoices();" />
If I enter a numner in the input box and pres enter, the correspondent clients' invoices are shown in a table. The clients are in a db with a table clients.
Actually the javascript calls a php function (via Ajax.Request)
function retrieveInvoices()
{
$query = $this->invoices_model->getInvoicesAJAX ($this->input->post('status'), $this->input->post('client_id'), $this->input->post('clientcontact_id'), $this->settings_model->get_setting('days_payment_due'));
...
Where the getInvoicesAJAX() function has some mysql queries.
>> invoiceArray = eval('(' + response.responseText + ')');
>
> You might want to consider a wrapper that prefers
> JSON.parse(response.responseText) before the comparably unsafe eval().
>
>> $('invoiceListings').style.position = "relative";
>> $('invoiceListings').style.left = "0";
>
> var invoice_listings = $('invoiceListings');
> invoice_listings.style.position = "relative";
> invoice_listings.style.left = "0";
>
> Better yet, avoid $('invoiceListings') and associated libraries in favor of
> document.getElementById("invoiceListings") or something like that.
>
> And finally, try replacing all of that with
>
> invoice_listings.style.display = "";
>
>> $('invoiceListings').style.position = "absolute";
>>
> $('invoiceListings').style.left = "-5000px";
>>
> $('invoiceListings').style.visibility = "hidden";
>
> Try replacing that with
>
> invoice_listings.style.display = "none";
>
> NOTE: Elements where “display: none” are not subject to transition and
> animation effects, while nowaways the “visibility” property can be animated.
> But if you do not use those, using the “display” property is usually better.
>
> Consider viewports that are wider than 5000px, for example. In fact, there
> should be no good reason to move the element at all in order to hide it, if
> you position it absolute and set its “visibility” property to “hidden”.
Thanks, I'll take a look a this. Thanks for the tips.
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
pass to function hipa <hipa@telenet.be> - 2014-01-25 18:07 +0000
Re: pass to function Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-25 19:24 +0100
Re: pass to function hipa <hipa@telenet.be> - 2014-01-26 15:31 +0000
Re: pass to function Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-26 17:58 +0100
csiph-web