Permalänk
Medlem

a href method=get

<?PHP
echo '<a href="#?id='.$row[id].'&name='.$row[itemName].'">Edit Content Item</a>';
$id = $_GET['id'] $name = $_GET['name']
?>
Jag listar en SQL tabell och använder en länk för att redigera en specifik kolumn i SQL.

När jag använder länken öppnas en jQuery lightbox. Där har jag mitt formulär...
(Om jag uppdaterar "href="index.php?id=....." är lightbox:en diplay:none; )

Jag undrar om det finns någon som har en idé om hur man kan skicka och hämta flera värden på samma sida, utan att uppdatera?
Eller om det finns någon annan lösning? Är tacksam för er hjälp!!!

Visa signatur

* Intel Core i7 920 @ 4.347 ghz (207x21) @ 1.41v - be quiet! DarkRock Pro
* Corsair 12GB (6x2048MB) 1600Mhz LC 7-8-7-20
* MSI GeForce GTX 560 Ti 2048MB TWIN FROZR II OC (1.0GHz - 1.0GHz)
* HD 3.5" SATA 1X600GB 10000 rpm, 1X2T 7200 rpm, 2X3T 7200 rpm, 1X1.5T 7200 rpm * Chassi Lian-Li PC-75 .

Permalänk
Medlem

Om du vill göra saker utan att uppdatera sidan så är det AJAX du ska kolla på.
http://sv.wikipedia.org/wiki/AJAX

Permalänk
Medlem

Jag har funderat på denna lösningen, men det går endast att skicka ett värde?
Jag använder alt='' ...och sedan attr.()
<?php
echo '<a class="link" href="#" alt="'.$row[].'"';
?>

<div class="lightbox">
<form>
<input class="id" type="hidden" name="id" value="" />
<input class="name" type="text" name="name" value="" />
</form>
</div>

$(document).ready(function(){
$('.link').click(function(){
var id = $(this).attr('alt');
$('.id').attr('value', id);
});
});

Visa signatur

* Intel Core i7 920 @ 4.347 ghz (207x21) @ 1.41v - be quiet! DarkRock Pro
* Corsair 12GB (6x2048MB) 1600Mhz LC 7-8-7-20
* MSI GeForce GTX 560 Ti 2048MB TWIN FROZR II OC (1.0GHz - 1.0GHz)
* HD 3.5" SATA 1X600GB 10000 rpm, 1X2T 7200 rpm, 2X3T 7200 rpm, 1X1.5T 7200 rpm * Chassi Lian-Li PC-75 .

Permalänk
Medlem

Du kan spara hur mycket du vill vad du vill o.s.v., PS alt är inte gjort för att spara data i html element.

eftersom du använder Jquery här http://api.jquery.com/data/

Visa signatur

Speldator: i7-8700k, 32GB DDR4, RTX2080
Server 1: SB 2500k, MZI -P67GD55, 32GB DDR3, Corsair MX 240GB SSD
Surface Pro 2017, Konsoler: Typ alla, Oculus Rift

Permalänk
Medlem

<script> function successFunc() { alert("det gick bra"); } function faildFunc() { alert("Error error"); } function SendStuff(buttonThatWasPushed) { var button = $(buttonThatWasPushed); var idFromButton = button.attr("data-id") || ""; var sizeFromButton = button.attr("data-size") || ""; var params = "{id:'" + idFromButton + "', size: '"+sizeFromButton+"'}"; var url = "file.php&action=update"; $.ajax({ type: "POST", url: url, data: params, contentType: "application/json; charset=utf-8", dataType: "json", success: successFunc, error: faildFunc }); } </script> Sen i din fina fil som heter file.php letar du efter GET parametrar. OM $GET["action") == update THEN DO METHOD BLA Poor mans WebMethods - Funkar dödsbra.

data-namn är valida attributer, så typ

<button data-id="hej" data-najs="tjo">hej</button> kommer validera.

Man kan använda jquery $.data istället för $.attr, men gör inte det nu, räcker med $.attr för dig än så länge

Permalänk
Medlem
Skrivet av Ernesto:

[php]
data-namn är valida attributer, så typ

<button data-id="hej" data-najs="tjo">hej</button> kommer validera.

Man kan använda jquery $.data istället för $.attr, men gör inte det nu, räcker med $.attr för dig än så länge

Tack så mycket till alla! Nu fungerar det, jag använder fortfarande $.attr()
<a href="#" id="1" name="name">Edit Content Item</a>
var id = $(this).attr('id')
var name = $(this).attr('name')

Kanske ser illa ut lr är det okej??

Visa signatur

* Intel Core i7 920 @ 4.347 ghz (207x21) @ 1.41v - be quiet! DarkRock Pro
* Corsair 12GB (6x2048MB) 1600Mhz LC 7-8-7-20
* MSI GeForce GTX 560 Ti 2048MB TWIN FROZR II OC (1.0GHz - 1.0GHz)
* HD 3.5" SATA 1X600GB 10000 rpm, 1X2T 7200 rpm, 2X3T 7200 rpm, 1X1.5T 7200 rpm * Chassi Lian-Li PC-75 .

Permalänk
Medlem

Det kommer nog funka, men ID och NAME är ju reserverade html parametrar.

Gör egna och nämn dem data-id och data-name istället.

Sen gör du om ditt objekt en enda gång

var link = $(this);

sen gör du

var id = link.attr("data-id");
var name = link.attr("data-name");

Annars tvingar du ju jquery att göra om "this" till jquery objekt två gånger, helt i onödan.

Sen kommer din href="#" att scrolla sidan när man klickar på den om du inte har bundit en clickevent och kört preventdefault.

Saker som skall klickas på men inte har någon sida att gå till, brukar man använda div eller span och binda onclick event till, annars förvirrar man sökmotorer och ibland webbläsare.

Permalänk
Medlem

Ok schysst!!

Ja det skulle funka för mig att använda div class="" & cursor: pointer;
$(document).ready(function(){
$('.class').click(function(){

Visa signatur

* Intel Core i7 920 @ 4.347 ghz (207x21) @ 1.41v - be quiet! DarkRock Pro
* Corsair 12GB (6x2048MB) 1600Mhz LC 7-8-7-20
* MSI GeForce GTX 560 Ti 2048MB TWIN FROZR II OC (1.0GHz - 1.0GHz)
* HD 3.5" SATA 1X600GB 10000 rpm, 1X2T 7200 rpm, 2X3T 7200 rpm, 1X1.5T 7200 rpm * Chassi Lian-Li PC-75 .

Permalänk
Medlem

Ja, eller gå direkt på ID om det inte är flera knappar - Att hitta ett element efter ID går mycket mycket fort, medan leta efter ett element efter klass tar mycket längre - Webbläsare sparar internt en lista på alla IDs, så den går snabbt att leta i, men om man letar efter klass går den igenom alla element på hela sidan - Spelar oftast ingen roll dock, men just det här är en sån där grej som inte tar längre att koda bara för att man "gör rätt från början".

Men, försök att alltid iallafall hålla ID på containern till dina knappar.

T.ex $("#ToolbarContainerDiv .button).bind("click", function() { bla bla });