Solved

passing parameters in jquerymobile?

Posted on 2014-09-11
23
128 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
 
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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
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

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
PROBLEM: The other day I was working on adding an ajax request to a webpage that already had a dialog box on the page.  The dialog box was using relative positioning to be positioned next to a form field I had on the page.  Everything was working…
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

864 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now