Solved

passing parameters in jquerymobile?

Posted on 2014-09-11
23
131 Views
Last Modified: 2014-09-24
Hi,

while ($paraloop = $respuesta->fetch_array()){
      
echo '<li><a href="#carg?feeder='.$paraloop['Feed'].'">'.$paraloop['Feed'].'</a></li>';


  } //Fin del while

the li have multiple references and i need to pass the parameter

How i can make this work in jquerymobile? works without the parameter in the address
0
Comment
Question by:joyacv2
  • 12
  • 11
23 Comments
 
LVL 82

Expert Comment

by:leakim971
ID: 40316851
You want to pass data to server side?
We use GET or POST
GET, the parameter is in the address that you don't want
POST, you POST a form, I don't see any to do tht with a link on page transition

A bad way would be to save the data in a cookie on click, not the click and the data-feed :
echo '<li><a class="feed" data-feed="'.$paraloop['Feed'].'" href="#carg">'.$paraloop['Feed'].'</a></li>';

Open in new window


and add this jQuery :
$(".feed").click(function() {
     $.cookie('feed', $(this).data("feed"));
});

Open in new window


read the cookie with PHP with :
$feed = $_COOKIE['feed'];
0
 
LVL 82

Expert Comment

by:leakim971
ID: 40316853
0
 
LVL 1

Author Comment

by:joyacv2
ID: 40316891
i want to use get in this case, don't require any security and can be changed in the address without problems, why cookie is a bad idea? is there other solution?
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 1

Author Comment

by:joyacv2
ID: 40316907
when i press the link, then makes a reference to another page in the same html using the #page of jquerymobile when this load, it takes the parameter and sends to another php file with ajax and jquery and returns the info
0
 
LVL 82

Expert Comment

by:leakim971
ID: 40316962
I don't like the idea of using cookie to pass data.
if yu want to use get you sould let the parameters in the url, just like you did it
0
 
LVL 1

Author Comment

by:joyacv2
ID: 40316999
but don't work with jquerymobile, is there any other solution

<a href="#page2"> works

<a href="#page2?parameter="test"> don't work

any idea to solve that?
0
 
LVL 82

Expert Comment

by:leakim971
ID: 40317021
be craeful with the quotes, you have doube quotes inside double quotes
try this :

<a href='page2?parameter=test' onclick="return false;">
0
 
LVL 1

Author Comment

by:joyacv2
ID: 40317043
this doesn't work
0
 
LVL 1

Author Comment

by:joyacv2
ID: 40317055
<a href="#page2"> works

<a href="#page2?parameter=test"> don't work
0
 
LVL 82

Expert Comment

by:leakim971
ID: 40317057
remove the sharp
0
 
LVL 1

Author Comment

by:joyacv2
ID: 40317094
<a href="page2?parameter=test"> don't work

<a href="#page2parameter=test"> don't work
0
 
LVL 82

Expert Comment

by:leakim971
ID: 40317168
so for teh cookie way
0
 
LVL 1

Author Comment

by:joyacv2
ID: 40317258
the cookie way don't work, any other idea, i am frustrated with jquerymobile :(
0
 
LVL 1

Author Comment

by:joyacv2
ID: 40317265
I found this:

HTML:

 <a href="page1.htm?structure='123'">Structure</a>
JS:

$( document ).on( "pageinit", "#page1", function( event ) {
  var parameters = $(this).data("url").split("?")[1];
  parameter = parameters.replace("structure=","");
  alert(parameter);
});

in a concurrent site

can this work in my case for a while loop?
0
 
LVL 82

Expert Comment

by:leakim971
ID: 40317351
use a class, don't post link from concurrent site
0
 
LVL 82

Expert Comment

by:leakim971
ID: 40317360
forget my previous comment
0
 
LVL 1

Author Comment

by:joyacv2
ID: 40317500
do you need more info?
0
 
LVL 82

Expert Comment

by:leakim971
ID: 40317512
did you try it ?
remove the

try this :
$( document ).on( "pageinit",function( event ) {
0
 
LVL 1

Author Comment

by:joyacv2
ID: 40317621
the same problem, i found that any script is running until i press refresh!
0
 
LVL 82

Expert Comment

by:leakim971
ID: 40318469
Try this :
$(document).on("pagebeforeshow", "#index", function () {
     $(document).on("click", ".feedLink", function() {
          var to = $(this).attr("href")
          var options = { data : { feed : $(this).data("feed") } };
          $.mobile.changePage(to, options); // http://api.jquerymobile.com/jQuery.mobile.changePage/
     });
});

Open in new window


With :
echo '<li><a href="#carg" data-feed="' . $paraloop['Feed']  . '">' . $paraloop['Feed'] . '</a></li>';

Open in new window

0
 
LVL 1

Accepted Solution

by:
joyacv2 earned 0 total points
ID: 40319385
same problem, only things works after refresh the page!
0
 
LVL 82

Expert Comment

by:leakim971
ID: 40319391
I'm going to create test page and will come back
0
 
LVL 1

Author Closing Comment

by:joyacv2
ID: 40341114
perfect!
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

There are a couple ways to attach a JavaScript function to dynamically created elements. You can make a new script for each element as it’s created or you can use delegation. Delegation allows a single script that is added at page creation to mat…
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question