Search Results

Search found 27698 results on 1108 pages for 'zend form element'.

Page 15/1108 | < Previous Page | 11 12 13 14 15 16 17 18 19 20 21 22  | Next Page >

  • How do I move Zend Framework From Development to Production?

    - by dirtylogic
    I'm just wondering if anyone else has had problems moving the Zend Framework from development to production. I changed my docroot to the public folder, updated my library path, but it's still not working out for me. The IndexController is working just fine, but my ServiceController is giving me an internal server error. ServiceController <?php class ServiceController extends Zend_Controller_Action { public function amfAction() { require_once APPLICATION_PATH . '/models/MyClass.php'; $srv = new Zend_Amf_Server(); $srv->setClass('Model_MyClass', 'MyClass'); echo $srv->handle(); exit; } }

    Read the article

  • zend gdata google base getting link url and parsing xml with object oriented php

    - by thrice801
    Hi, So I am using Zend frameworks Gdata extension to parse xml data from google base. http://framework.zend.com/manual/en/zend.gdata.gbase.html Working fine minus one damn important thing I cant seem to parse, the link to the actual page, because there are two elements and its returned as an array. Anyways Ive tried vardumping the array but what comes out didnt help me figure out what was going on any better. So heres the specifics of the issue. echo $entry->title->text."<br />".$entry->id->text."<br />".$entry->content->text."<br />".$entry->author[0]->name."<br />"; (the above code works fine). Now according to the documentation I thought I could get the link href by going $entry-link-text or $entry-link-url (tried both, neither worked). Anyways, Im not sure whether this is zend specific or just a gap in my OOP understanding, but any help would be much appreciated!

    Read the article

  • zend framework - quickstart application

    - by m gahagan
    I have been attempting to install the 'quickstart' tutorial application on my system. After a considerable amount of frustration - a) because I dont know how it all works andb) mine's a windows (wamp) set-up, I have got as far as setting up the guestbook database successfully and reaching the Checkpoint: Now browse to http://localhost/guestbook. You should see the following in your browser: I get error: Warning: include(C:\wamp\www\quickstart\application/models//GuestbookMapper.php) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\quickstart\library\Zend\Loader\Autoloader\Resource.php on line 176 Warning: include() [function.include]: Failed opening 'C:\wamp\www\quickstart\application/models//GuestbookMapper.php' for inclusion (include_path='C:\wamp\www\quickstart\library;.;C:\wamp\bin\php\php5.3.0\PEAR;C:\wamp\zend\library;C:\wamp\zend\extras\library') in C:\wamp\www\quickstart\library\Zend\Loader\Autoloader\Resource.php on line 176 Fatal error: Class 'Default_Model_GuestbookMapper' not found in C:\wamp\www\quickstart\application\models\Guestbook.php on line 102 Obviously failing to link relevant files is the main issue - First, that 'C:\wamp\www\quickstart\application/models//GuestbookMapper.php' looks wrong to me, but I cant figure out what's creating it. Second, I have a very tenuous grip on the whole file path system and cant tell whether things are wrongly configured. If I could get the guestbook app to function, then I might be able to get a grip on what's going on. As it is, I seem to fix one problem only to find another round the next corner.

    Read the article

  • Zend Partial + Zend Action Helper causes an additional request to bootstrap?

    - by AndreLiem
    I've been profiling some zend framework code with webgrind to see where some bottle necks are and I'm noticing some very odd behavior. Using the zend partial for example, if I pass a variable value that comes from a zend action helper, it results in two requests being made. in sample.phtml echo $this->partial('partial/embed.phtml', array('url' => $this->url)); in indexcontroller.php $this->view->url = $this->_helper->Embed()->url; But if I don't pass the value from the helper to the partial, but still run the helper, it only makes one request in webgrind. e.g. $this->view->url = 'test'; $this->_helper->Embed()->url; Does anybody know why this could be happening? Am I potentially interpreting web grind incorrectly, or is it really calling the bootstrap twice when the an action helper value is tied to a partial? I'm starting to realize how inefficient some components of Zend are. Thanks

    Read the article

  • How to install Zend Framework on Windows

    - by sombe
    "installing Zend Framework is so easy!!!!" yeah right... Ok I'm working with a beginner's book and the ONE thing that is not excessively detailed is the most important part: Installing the darn thing. After browsing the quickstart guide for hours, all it said was: "download Zend [...] add the include directory (bla bla) and YOU'RE DONE!" right, i'm done using Zend. Ok, not really, not yet anyway. I beg of you people, I wanna go to bed, please tell me how (in simple 6th grade detail) to install the framework. I've got the unzipped folder in my htdocs directory, and I placed zf.bat+zf.php in the htdocs root. What's next? thank you so much. EDIT: Thanks guys for all the answers. Unfortunately I haven't been able to work with this or find a good enough resource to explain it to me in plain english. It seems that this framework adheres more so to programmers than to beginners. I've since yesterday read a little on CakePHP and found that it was incredibly easy to install and tune. As oppose to Zend Framework, where I had to dig in my "environment variables", configure "httpd.conf" and almost tie the knot between my computer driver cables to just get it running, CakePHP has already allowed me to put together a nice newbie application. In conclusion, I very much appreciate all of your help. I hope someone else venturing on ZF will be more successful with it. Thanks!

    Read the article

  • Zend dubugger in eclipse - timeout everytime

    - by jax
    I am running a virtual server in the US. I am trying to get my eclipse machine at home (outside the USA), to connect to the USA server. I have setup Zend on the server. When I run phpinfo() I get the following zend output. Note: 1.2.3.4 will be the external WAN IP address of my ADSL router at home. Directive Local Value Master Value zend_debugger.allow_hosts 127.0.0.1,1.2.3.4 127.0.0.1,1.2.3.4 zend_debugger.allow_tunnel no value no value zend_debugger.deny_hosts no value no value zend_debugger.expose_remotely always always zend_debugger.httpd_uid -1 -1 zend_debugger.max_msg_size 2097152 2097152 zend_debugger.tunnel_max_port 65535 65535 zend_debugger.tunnel_min_port 1024 1024 So zend looks like it is working ok on the server side. When I run a debug session and select 'Test Debugger' I get a timeout every time. I have already added dummy.php to the root folder of the server. In 'installed debuggers' I double clicked on Zend and have put my external WAN IP address. I noticed that the port is 10000, I also have webmin running on this port on the server, will there be a conflict?

    Read the article

  • What does Symfony Framework offer that Zend Framework does not?

    - by Fatmuemoo
    I have professionally working with Zend Framework for about a year. No major complaints. With some modifications, it has done a good job. I'm beginning to work on a side project where I want to heavily rely on MongoDb and Doctrine. I thought it might be a good idea to broaden my horizons and learn another enterprise level framework. There seems to be a lot a buzz about Symfony. After quickly looking over the site and documentation, I must say I came away pretty underwhelmed. I'm woundering what, if anything, Symfony has to offer that Zend doesn't? What would the advantage be in choosing Symfony?

    Read the article

  • Can someone please help me in setting up Zend framework? [closed]

    - by Rolen Koh
    I need help in setting up Zend framework on my PC. I am using XAMPP on Windows 7. I read tutorials and did what they suggested but don't know why it is not running. I need stepwise help. I have downloaded Zend version 1.11.13 and extracted the contents in a C drive folder. I have also set up environment variables and also made proper changes in php.ini file. But still not working. May be I am missing something or doing something incorrectly. So could you please give me step by step details of everything from download to setting environment variables and etc? It'll be very helpful. Thanks a lot in advance.

    Read the article

  • Zend: How to populate data to checkboxes?

    - by NAVEED
    I am working on zend. I have a form with some checkboxes. I want to get data from database and populate this data to this form. If '1' is stored in table field then tick the check box otherwise leave it alone. In textboxes and dropdowns, data is easily populated but how to check a checkbox in action. I am creating checkboxes and textboxes elements like this in form.php: // Person name $person = $this->CreateElement('text', 'name'); $person->setLabel('Name'); $elements[] = $person; // Organization name $person = $this->CreateElement('text', 'organization'); $person->setLabel('Organization'); $elements[] = $person; // isAdmin Checkbox $isAdmin = $this->CreateElement('checkbox', 'isAdmin'); $isAdmin->setLabel('Admin'); $elements[] = $isAdmin; $this->addElements($elements); $this->setElementDecorators(array('ViewHelper')); // set form decorator (what script will render the form) $this->setDecorators(array(array('ViewScript' , array('viewScript' => 'organization/accessroles-form.phtml')))); And populating data like this (for example): // Prepare data to populate $data['name'] = 'Naveed'; $data['organization'] = 'ABC'; $data['isAdmin'] = '1'; // Populate editable data $this->view->form->populate( $data ); It is populating data in textboxes but not checking the checkbox? Any idea that how to check a checkbox from action? Thanks

    Read the article

  • Moving Zend Framework 2 from apache to nginx

    - by Aleksander
    I would like to move site that uses Zend Framework 2 from Apache to Nginx. The problem is that site have 6 modules, and apache handles it by aliases defined in httpd-vhosts.conf, #httpd-vhosts.conf <VirtualHost _default_:443> ServerName localhost:443 Alias /develop/cpanel "C:/webapps/develop/mil_catele_cp/public" Alias /develop/docs/tech "C:/webapps/develop/mil_catele_tech_docs/public" Alias /develop/docs "C:/webapps/develop/mil_catele_docs/public" Alias /develop/auth "C:/webapps/develop/mil_catele_auth/public" Alias /develop "C:/webapps/develop/mil_web_dicom_viewer/public" DocumentRoot "C:/webapps/mil_catele_homepage" </VirtualHost> in httpd.conf DocumentRoot is set to C:/webapps. Sites are avialeble at for example localhost/develop/cpanel. Framework handles further routing. In Nginx I was able to make only one site available by specifing root C:/webapps/develop/mil_catele_tech_docs/public; in server block. It works only because docs module don't depend on auth like others, and site was at localhost/. In next attempt: root C:/webapps; location /develop/auth { root C:/webapps/develop/mil_catele_auth/public; try_files $uri $uri/ /develop/mil_catele_auth/public/index.php$is_args$args; } Now as I enter localhost/develop/cpanel it gets to correct index.php but can't find any resources (css,js files). I have no Idea why reference paths in browswer's GET requsts changed to https://localhost/css/bootstrap.css form https://localhost/develop/auth/css/bootstrap.css as it was on apache. This root directive seems not working. Nginx handles php by using fastCGI location ~ \.(php|phtml)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param APPLICATION_ENV production; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } I googled whole day, and found nothing usefull. Can someone help me make this configuration work like on Apache?

    Read the article

  • Uncaught exception 'Zend_Controller_Dispatcher_Exception'

    - by saurabh
    Hi I am getting the following error on running zendframework . Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in F:\wamp\www\helloworld\library\Zend\Controller\Dispatcher\Standard.php:245 Stack trace: #0 F:\wamp\www\helloworld\library\Zend\Controller\Front.php(946): Zend_Controller_Dispatcher_Standard-dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 F:\wamp\www\helloworld\library\Zend\Controller\Front.php(212): Zend_Controller_Front-dispatch() #2 F:\wamp\www\helloworld\web_root\index.php(10): Zend_Controller_Front::run('../application/...') #3 {main} thrown in F:\wamp\www\helloworld\library\Zend\Controller\Dispatcher\Standard.php on line 245 please help me out.

    Read the article

  • Good Hosting Providers With Zend Framework Support [closed]

    - by manyxcxi
    I currently use ixwebhosting for my hosting services. They're cheap and work (most of the time). The databases are horribly slow, the servers are horribly slow, and their support (though usually prompt) is tough to deal with. That being said, they're cheap, I've got like 20 domains hosted in my account, none of them are high volume, and they work JUST good enough- until today. This isn't meant to be a condemnation of ixwh though. Their prices are very low for what they do offer and most things work just fine, most of the time. I need to be able to host web apps written with Zend Framework in a fairly easy fashion. The server performance can't be worse than what I've already had (a pretty low hurdle to clear), and I don't want to spend $30/mo. These are not money making websites- they're projects. My requirements are PHP 5.3, ZF support, MySQL databases, multiple domains- not much. Who should I look at, and who should I look out for?

    Read the article

  • Code to plug into a Zend Framework project

    - by bluedaniel
    Hello everyone, Im currently working on a website in the Zend Framework and finding it very useful indeed. I want both a blog and a forum in this website and wondered if there are any open-source projects of this nature that I would be able to simply copy and paste into my modular project. I was using Wordpress and BBpress previously so something like that would be good, although I do not want to hack my Zend Auth to use the Wordpress authentication system, seems like too much hard work/hacky to do. So any ideas? Plus where are the best Zend framework 'plugins' (similar to wordpress)? Thanks everyone.

    Read the article

  • Add php extension (geoip.so) to Zend Studio for code validation

    - by Agustinus
    Hi everyone, just have a short question here. I've just installed new php extension (geoip.so) using pecl to /usr/local/zend/lib/php_extensions/ and added the extension to the php.ini. Run the code and it works just fine. But Zend Studio is giving warning of undefined geoip function. Try to add the directory path above to the include path of Zend Studio, still the warning exists. Any clue how to remove this warning? Thank you in advance!! /Agustinus

    Read the article

  • How to add a view helper directory (zend framework)

    - by Cédric Girard
    Hi, I begin with ZF (1.9.7), and I want to use View Helpers from a library shared between all my projects. But I can't find how to add it directory to the helpers path. My herpers works fines when I put them in application's helpers path. Here is the error, where I find the path to ZF helpers, and path to the applications ones. object(ArrayObject)#71 (3) { ["exception"]=> object(Zend_Loader_PluginLoader_Exception)#70 (6) { ["message:protected"]=> string(151) "Plugin by name 'Voo' was not found in the registry; used paths: Zend_View_Helper_: Zend/View/Helper/;C:/ZendStd/www/applis/VOO4_PROJECTX/views\helpers/" ["string:private"]=> string(0) "" ["code:protected"]=> int(0) ["file:protected"]=> string(89) "C:\Program Files\Zend\ZendServer\share\ZendFramework\library\Zend\Loader\PluginLoader.php" ["line:protected"]=> int(401) Best regards Cédric

    Read the article

  • How to use Zend Cache with SimpleXML objects?

    - by Jeremy Hicks
    I'm trying to cache the user timeline of a Twitter feed using Zend_Service_Twitter which returns its results as a SimpleXML object. Unfortunately the regular serialize functions (which Zend Cache uses) don't play nice with SimpleXMl objects. I found this http://www.mail-archive.com/fw-general@lists.zend.com/msg18133.html. So it looks like I'll need to create some kind of custom frontend for Zend Cache to be able to change the serialize function used. Anybody ever done this already or can point me where to look to start?

    Read the article

  • Domain-driven design with Zend

    - by mik
    This question is a continuation of my previous question here http://stackoverflow.com/questions/2122850/zend-models-architecture (big thanks to Bill Karwin). I've made some reading including this article http://weierophinney.net/matthew/archives/202-Model-Infrastructure.html and this question http://stackoverflow.com/questions/373054/how-to-properly-create-domain-using-zend-framework Now I understand, what domain driven design is. But examples are still very simple and poor. They are based on one table and one model. Now, my question is: do they use Domain Model Design in real-world PHP projects? I've been looking for some good documentation about this, but I haven't found anything good enough, that explains how to manage several tables and transfer them to Domain Objects. As long as I know, there is Hibernate library, that has this features in Java, but what should I use in PHP (Zend Framework)?

    Read the article

  • MVC Implementation PHP Zend PDF generation

    - by zod
    Am using Zend framework and PHP Am going to generate a PDF using Zend . So the View is PDF.There is no PHTML. But if i dont use PHTML in view , is it a perfect MVC? if i want to be a perfect MVC shall i do the db retrieval and variable declaration and assigning in controller and use view and use all pdf functions in view phtml file will it make a perfect MVC? What is the advantage of MVC in this case? :-) can i do the include of zend pdf in phtml file or controller php file? what is the difference ?

    Read the article

  • Zend without Database

    - by dbemerlin
    Hi, i googled for an hour now but maybe my Google-Fu is just too weak, i couldn't find a solution. I want to create an application that queries a service via JSON requests (all data and backend/business logic is stored in the service). With plain PHP it's simple enough since i just make a curl request, json_decode the result and get what i need. This already works quite well. A request might look like this: Call http://service-host/userlist with body: {"logintoken": "123456-1234-5678-901234"} Get Result: { "status": "Ok", "userlist":[ {"name": "foo", "id": 1}, {"name": "bar", "id": 2} ] } Now we want to get that into the Zend Framework since it's a hobby project and we want to learn about Zend. The problem is that all information i could find use a Database. Is there even a way to create a Zend Project that does not use a Database? And how can i write a model that represents the actions instead of objects and object-relations?

    Read the article

  • Popular open source projects using Zend Framework

    - by Alexander
    Hello, I am trying to find any open source project based on Zend Framework. Something well written and as popular as Wordpress or Drupal to see actual benefits of ZF as well as possibly use it as an example. The only 'showcase' I managed to find is http://framework.zend.com/wiki/pages/viewpage.action?pageId=14134. But this list looks confusing as for the 'official' PHP framework. The same is about ZF statistics by numbers (http://framework.zend.com/about/numbers) - 10 million downloads against 400 actual projects which is less than 500 examples in the user guide... Also Yahoo chose Symfony for their bookmarks service not ZF... Am I missing something? Thank you!

    Read the article

  • How to manage different form contexts of same form element in single DOM tree

    - by nimp
    Hi, As my question title could be bit unclear to you (I tried best), following is what I'm exactly trying to do. I'm having a form element (say a user_info form), where such form elements will be generated for different users by java script and displayed in different js tabs (example: dojo tabs). once form elements are generated, later I need to react on user actions performed on different html elements defined inside user_info form. In this case I need to identify what is the context (in which user_info form element) in which user is working on. The simplest example would be how to retrieve form id of the form in which user actions are being performed. According to my understanding, I can not simply retrieve from by form id, because now DOM tree contains duplicate form instances of the same from element. So, IS there anyway, I could identify form context based on the user actions on its input elements. Thank You.

    Read the article

  • How to integrate "basic" website into Zend Framework

    - by Joel
    Hi guys, I have a website that has around 10 pages. Only one of those pages uses Zend (to integrate with Google gData). Right now, it's just all coded into that one page, but I'm wanting to learn how to use Zend Framework. How do you handle basic-relatively static php pages within Zend Framework? Do you just stick the whole individual pages into their own respective views and then have to common stuff in the layout, and not worry about a model and controller for those pages? in general, is MVC accepted and appropriate technology for general "web-design" work?

    Read the article

  • Zend Framework 2 without MVC

    - by Luke
    I'm currently using Zend Framework 2 for all my web tier development using the MVC module that's shipped with the framework. However, I want to implement my business logic in a separate layer, call it the business tier which is a non HTTP layer and expose it through AMQP, and I'd like to reuse my knowledge of PHP for implementing this. Since there is a lot of "stuff" that I need in this business layer such as configuration, a service manager, database access, etc, etc, I'd like to use all the goodies shipped with Zend Framework 2 for this. Are there any examples or tutorials out there on how to build a Zend Framework 2 application that is not build for the web tier and doesn't require the MVC module?

    Read the article

  • How to test if table was updated in Zend Framework?

    - by AD
    When user opens a form to modify a record, but instead of changing information, he just clicks the Update button. Which causes the update() function to return 0. However, I consider this case a valid update task. How would I test it, so I can assign a success message? Is update() returns -1 when SQL query failed or also 0? Method: Zend_Db_Table_Abstract::update() Any ideas? Thanks

    Read the article

  • A jQuery Plug-in to monitor Html Element CSS Changes

    - by Rick Strahl
    Here's a scenario I've run into on a few occasions: I need to be able to monitor certain CSS properties on an HTML element and know when that CSS element changes. The need for this arose out of wanting to build generic components that could 'attach' themselves to other objects and monitor changes on the ‘parent’ object so the dependent object can adjust itself accordingly. What I wanted to create is a jQuery plug-in that allows me to specify a list of CSS properties to monitor and have a function fire in response to any change to any of those CSS properties. The result are the .watch() and .unwatch() jQuery plug-ins. Here’s a simple example page of this plug-in that demonstrates tracking changes to an element being moved with draggable and closable behavior: http://www.west-wind.com/WestWindWebToolkit/samples/Ajax/jQueryPluginSamples/WatcherPlugin.htm Try it with different browsers – IE and FireFox use the DOM event handlers and Chrome, Safari and Opera use setInterval handlers to manage this behavior. It should work in all of them but all but IE and FireFox will show a bit of lag between the changes in the main element and the shadow. The relevant HTML for this example is this fragment of a main <div> (#notebox) and an element that is to mimic a shadow (#shadow). <div class="containercontent"> <div id="notebox" style="width: 200px; height: 150px;position: absolute; z-index: 20; padding: 20px; background-color: lightsteelblue;"> Go ahead drag me around and close me! </div> <div id="shadow" style="background-color: Gray; z-index: 19;position:absolute;display: none;"> </div> </div> The watcher plug in is then applied to the main <div> and shadow in sync with the following plug-in code: <script type="text/javascript"> $(document).ready(function () { var counter = 0; $("#notebox").watch("top,left,height,width,display,opacity", function (data, i) { var el = $(this); var sh = $("#shadow"); var propChanged = data.props[i]; var valChanged = data.vals[i]; counter++; showStatus("Prop: " + propChanged + " value: " + valChanged + " " + counter); var pos = el.position(); var w = el.outerWidth(); var h = el.outerHeight(); sh.css({ width: w, height: h, left: pos.left + 5, top: pos.top + 5, display: el.css("display"), opacity: el.css("opacity") }); }) .draggable() .closable() .css("left", 10); }); </script> When you run this page as you drag the #notebox element the #shadow element will maintain and stay pinned underneath the #notebox element effectively keeping the shadow attached to the main element. Likewise, if you hide or fadeOut() the #notebox element the shadow will also go away – show the #notebox element and the shadow also re-appears because we are assigning the display property from the parent on the shadow. Note we’re attaching the .watch() plug-in to the #notebox element and have it fire whenever top,left,height,width,opacity or display CSS properties are changed. The passed data element contains a props[] and vals[] array that holds the properties monitored and their current values. An index passed as the second parm tells you which property has changed and what its current value is (propChanged/valChanged in the code above). The rest of the watcher handler code then deals with figuring out the main element’s position and recalculating and setting the shadow’s position using the jQuery .css() function. Note that this is just an example to demonstrate the watch() behavior here – this is not the best way to create a shadow. If you’re interested in a more efficient and cleaner way to handle shadows with a plug-in check out the .shadow() plug-in in ww.jquery.js (code search for fn.shadow) which uses native CSS features when available but falls back to a tracked shadow element on browsers that don’t support it, which is how this watch() plug-in came about in the first place :-) How does it work? The plug-in works by letting the user specify a list of properties to monitor as a comma delimited string and a handler function: el.watch("top,left,height,width,display,opacity", function (data, i) {}, 100, id) You can also specify an interval (if no DOM event monitoring isn’t available in the browser) and an ID that identifies the event handler uniquely. The watch plug-in works by hooking up to DOMAttrModified in FireFox, to onPropertyChanged in Internet Explorer, or by using a timer with setInterval to handle the detection of changes for other browsers. Unfortunately WebKit doesn’t support DOMAttrModified consistently at the moment so Safari and Chrome currently have to use the slower setInterval mechanism. In response to a changed property (or a setInterval timer hit) a JavaScript handler is fired which then runs through all the properties monitored and determines if and which one has changed. The DOM events fire on all property/style changes so the intermediate plug-in handler filters only those hits we’re interested in. If one of our monitored properties has changed the specified event handler function is called along with a data object and an index that identifies the property that’s changed in the data.props/data.vals arrays. The jQuery plugin to implement this functionality looks like this: (function($){ $.fn.watch = function (props, func, interval, id) { /// <summary> /// Allows you to monitor changes in a specific /// CSS property of an element by polling the value. /// when the value changes a function is called. /// The function called is called in the context /// of the selected element (ie. this) /// </summary> /// <param name="prop" type="String">CSS Properties to watch sep. by commas</param> /// <param name="func" type="Function"> /// Function called when the value has changed. /// </param> /// <param name="interval" type="Number"> /// Optional interval for browsers that don't support DOMAttrModified or propertychange events. /// Determines the interval used for setInterval calls. /// </param> /// <param name="id" type="String">A unique ID that identifies this watch instance on this element</param> /// <returns type="jQuery" /> if (!interval) interval = 100; if (!id) id = "_watcher"; return this.each(function () { var _t = this; var el$ = $(this); var fnc = function () { __watcher.call(_t, id) }; var data = { id: id, props: props.split(","), vals: [props.split(",").length], func: func, fnc: fnc, origProps: props, interval: interval, intervalId: null }; // store initial props and values $.each(data.props, function (i) { data.vals[i] = el$.css(data.props[i]); }); el$.data(id, data); hookChange(el$, id, data); }); function hookChange(el$, id, data) { el$.each(function () { var el = $(this); if (typeof (el.get(0).onpropertychange) == "object") el.bind("propertychange." + id, data.fnc); else if ($.browser.mozilla) el.bind("DOMAttrModified." + id, data.fnc); else data.intervalId = setInterval(data.fnc, interval); }); } function __watcher(id) { var el$ = $(this); var w = el$.data(id); if (!w) return; var _t = this; if (!w.func) return; // must unbind or else unwanted recursion may occur el$.unwatch(id); var changed = false; var i = 0; for (i; i < w.props.length; i++) { var newVal = el$.css(w.props[i]); if (w.vals[i] != newVal) { w.vals[i] = newVal; changed = true; break; } } if (changed) w.func.call(_t, w, i); // rebind event hookChange(el$, id, w); } } $.fn.unwatch = function (id) { this.each(function () { var el = $(this); var data = el.data(id); try { if (typeof (this.onpropertychange) == "object") el.unbind("propertychange." + id, data.fnc); else if ($.browser.mozilla) el.unbind("DOMAttrModified." + id, data.fnc); else clearInterval(data.intervalId); } // ignore if element was already unbound catch (e) { } }); return this; } })(jQuery); Note that there’s a corresponding .unwatch() plug-in that can be used to stop monitoring properties. The ID parameter is optional both on watch() and unwatch() – a standard name is used if you don’t specify one, but it’s a good idea to use unique names for each element watched to avoid overlap in event ids especially if you’re monitoring many elements. The syntax is: $.fn.watch = function(props, func, interval, id) props A comma delimited list of CSS style properties that are to be watched for changes. If any of the specified properties changes the function specified in the second parameter is fired. func The function fired in response to a changed styles. Receives this as the element changed and an object parameter that represents the watched properties and their respective values. The first parameter is passed in this structure: { id: watcherId, props: [], vals: [], func: thisFunc, fnc: internalHandler, origProps: strPropertyListOnWatcher }; A second parameter is the index of the changed property so data.props[i] or data.vals[i] gets the property and changed value. interval The interval for setInterval() for those browsers that don't support property watching in the DOM. In milliseconds. id An optional id that identifies this watcher. Required only if multiple watchers might be hooked up to the same element. The default is _watcher if not specified. It’s been a Journey I started building this plug-in about two years ago and had to make many modifications to it in response to changes in jQuery and also in browser behaviors. I think the latest round of changes made should make this plug-in fairly future proof going forward (although I hope there will be better cross-browser change event notifications in the future). One of the big problems I ran into had to do with recursive change notifications – it looks like starting with jQuery 1.44 and later, jQuery internally modifies element properties on some calls to some .css()  property retrievals and things like outerHeight/Width(). In IE this would cause nasty lock up issues at times. In response to this I changed the code to unbind the events when the handler function is called and then rebind when it exits. This also makes user code less prone to stack overflow recursion as you can actually change properties on the base element. It also means though that if you change one of the monitors properties in the handler the watch() handler won’t fire in response – you need to resort to a setTimeout() call instead to force the code to run outside of the handler: $("#notebox") el.watch("top,left,height,width,display,opacity", function (data, i) { var el = $(this); … // this makes el changes work setTimeout(function () { el.css("top", 10) },10); }) Since I’ve built this component I’ve had a lot of good uses for it. The .shadow() fallback functionality is one of them. Resources The watch() plug-in is part of ww.jquery.js and the West Wind West Wind Web Toolkit. You’re free to use this code here or the code from the toolkit. West Wind Web Toolkit Latest version of ww.jquery.js (search for fn.watch) watch plug-in documentation © Rick Strahl, West Wind Technologies, 2005-2011Posted in ASP.NET  JavaScript  jQuery  

    Read the article

< Previous Page | 11 12 13 14 15 16 17 18 19 20 21 22  | Next Page >