I figured it out.

I believe part of my problem had to do with my remote: path and
filename was not correct. So it wasnt able to get into my
checkStore.php remote script. Once I got that figured out, I used
codeIgniters url to call the remote script, ie /rtui/codeigniter/
index.php/controllername/function.
Secondly, since I'm using CodeIgniter Framework, it kills all $_GET
requests. So I had to enable it in the config file for the server, and
run $this->input->get_post('storename_name', TRUE).

Lastly, in my jquery where I customized my storename_name validation,
I set it up like this:
storename_name: {
required: true,
remote: {
url: "/rtui/codeigniter/index.php/storeform/findValidstorename",
type: "post"
}

And it all worked.  Hopefully someone with my same problem will find
this useful.



On May 10, 2:17 pm, Field <fields...@gmail.com> wrote:
> Jörn, changed it as you mention, and loaded up Firebug - but still not
> getting anywhere.
>
> I do see in Firebug :
> defaults -> messages -> storename_name -> remote -> "Please fix this
> field." But I never see it on the webpage. I've only see "This field
> is required."
> I also see some information in :
> attributes -> 4 (remote nodeName) -> ownerElement  - is there
> something specific I should be looking for?
>
> I changed everything identical to the Marketo signup form example just
> to see if I can get it to work, but nothing.
> This is the code inside my checkstore.php
>
> <?php
> $request = trim(strtolower($_REQUEST['storename_name']));
> $emails = array('g...@marketo.com', 'geo...@bush.gov', '....@god.com',
> 'aboutf...@cooper.com', 'st...@valve.com', 'b...@gates.com');
> $valid = 'true';
> foreach($emails as $email) {
>     if( strtolower($email) == $request )
>         $valid = 'false';}
>
> echo $valid;
> ?>
>
> Should I remove the remote attribute in my input element and put it in
> the jquery?
> Should I be loading any kind of ajax plugin script in my <head>?
> Does it matter if I'm using the validator (class="required") on the
> input element together with a 2nd jquery plugin (id=storeAutoSuggest)?
>
> Any guidance is appreciated. I'm still trying to figure it our myself
> too.
>
> On May 10, 8:39 am, Jörn Zaefferer <joern.zaeffe...@googlemail.com>
> wrote:
>
> > The validation plugin uses the input name for the ajax request, so in
> > your case, you should be able to access it with
> > $_REQUEST['storename_name']
>
> > You can use Firebug to look at the actual request.
>
> > Jörn
>
> > On Sun, May 10, 2009 at 9:05 AM, Field <fields...@gmail.com> wrote:
>
> > > I've got an combobox that is required, but the data typed by the user
> > > must be validated against records from a database. So I've tried to
> > > use remote:"checkStore.php" external file but am getting nothing. What
> > > can I do to output what goes INTO checkStore.php and what comes out of
> > > checkStore.php to help me debug it.
>
> > > I'm not even sure my input name is being passed into the remote. Is
> > > there more scripting I need than what I show here?
>
> > > Here's my form:
> > > <input type="text" name="storename_name" class="required" remote="/
> > > rtui/codeigniter/views/include/checkstore.php" size="36" value="<?=
> > > $storename_name; ?>" id="storeAutoSuggest" />
>
> > > my jquery:
> > > $("#Form").validate({
> > >                        rules: {
> > >                                storename_name: {
> > >                                        required: true
> > >                                }
> > >                        }
> > >                });
>
> > > my checkstore.php:
> > > $request = trim(strtolower($_REQUEST['value']));
>
> > >                $results = $this->Stores->getStorebyName($request); //model
> > > functions correctly
> > >                $valid = "false";
>
> > >                foreach ($results as $row)
> > >                {
> > >                        if (strtolower($row) == $request)
> > >                        {
> > >                                $valid = "true";
> > >                        }
> > >                }
>
> > >                echo $valid;

Reply via email to