2016-03-21 11 views
0

Ich bin kein HTML, Jquery oder Javascript-Spezialist und ich habe Probleme beim Versuch, Parameter in einer Sub-HTML-Seite über jquery .load() Ich hoffte, jemand helfen könnte mich.jquery load() Probleme bekommen Parameter bei der Verwendung div

Ein bisschen Hintergrund zuerst: Mein Haupt html Seite index.html, hat ein div mit einer ID von PageContent. Wenn Sie auf einen Menüpunkt auf der Hauptseite klicken, lädt die Hauptseite alle anderen HTML-Seiten in dieses div als untergeordnete Seite der Hauptseite.

In meinem html Ich habe

<div id="PageContent"></div> 

In der Haupt-Seite JavaScript-Datei, wenn jemand einen Menüpunkt auszuwählen wie folgt

onclick=''callPage(document.getElementById("subPage1").href, 
      "{user:'" + ipUserId + "'}");'' 

Wir nennen den folgenden Code

function callPage(stPageLink, stPageParams) { 
    $("#PageContent").load(stPageLink, stPageParams); 
    ... 
} 

In subpage1.html möchte ich den Wert des übergebenen Parameters (user) einem Textfeld txt1as zuweisen, wenn Wert in t gesendet wurde er url.
Beispiel:

<input id="txt1" type="text" value="this.document.user.value" > 

Aber es scheint nicht zu funktionieren.
Ich habe auch versucht Das funktioniert auch nicht.
In beiden Fällen wird die Seite geladen, aber kein Parameter abgerufen.

Ich habe 1 Tag versucht, eine Antwort auf dieser Seite und anderen Seiten ohne Glück zu finden. Also wenn irgendjemand weiß, ob es möglich ist, das zu tun, oder mir in die richtige Richtung zeigen könnte. Ich wäre sehr dankbar, wenn sie etwas hochladen könnten.

In diesem Stadium frage ich mich, ob ich besser bin mit einem iframe?

Dinge, die ich habe versucht:

  1. ich folgende als Beispiel nicht tun können, da es nicht in Chrom funktioniert.
    $("#PageContent").load(stPageLink +"?userid='usr1');

  2. kann ich nicht verwenden, weil ich window.href Last bin mit() und ich bin mit dem HTML-Code in ein div zu laden. So wird window.href zurückkehren "... /index.html" not“... subpage1.html? User = "usr1"

  3. Leider weiß ich nicht, php.

+0

In JavaScript gibt es keine Eigenschaft namens 'on-click'. Benutze 'onclick'. –

+0

Danke. Das war ein Tippfehler, als ich den Posten betrat. Aber der tatsächliche Code war korrekt. Ich habe es behoben, im ursprünglichen Post jetzt. – ns2016

Antwort

0

dachte ich, das Problem.Die Antwort war so offensichtlich, dass ich es nicht sehen konnte. In meinem Eltern-Programm habe ich die folgenden zwei geteilten Variablen erstellt.

Das Problem, das ich mit jquery.load hatte, war ein Fehler, den ich gemacht habe. Die folgenden Werke Funktion callPage (stPageLink) { getArrayParams (stPageLink); $ ("# Pagecontent"). Last (stPageLink) }

onclick=''callPage(document.getElementById("LoginMenu").href + '?user=' + ipUserId);'' 

Das Problem war ich jquery .loadbefore hatte, weil ich die folgenden, die tat, war Müll. onclick=''callPage(document.getElementById("LoginMenu").href + '?user="' + ipUserId + '"');'

Ich erstellte dann eine Funktion, um jedes Parameterpaar in das relevante Array zu analysieren. Das funktioniert. Danke für deine Hilfe. Nur für deine Tipps hätte ich es nicht gesehen.

0
$('#mylink').click(function() { 
    $('#PageContent').load("/mypage?user="+$('#txt1').val()); 
}); 
+0

(Edited weil meine ursprüngliche Antwort nicht korrekt war) – Kim

0

Sie können .click(handler) verwenden Ereignis Element zu befestigen; $.param() serialisierten Zeichenfolge als Darstellung javascript Objekt zu übergeben, verwenden .split() an .ajaxComplete() auf options.url neu erstellen Objekt als serialisiert String übergeben, setzen .val() von input Element

function callPage(stPageLink, stPageParams) { 
    $("#PageContent").load(stPageLink + $.param(stPageParams)) 
} 

$(document).ajaxSuccess(function(event, jqxhr, options, data) { 
    var data = options.url.split("?")[1].split("="); 
    var res = {}; 
    res[data[0]] = data[1]; 
    $("#txt1").val(res[data[0]]); 
}) 

$("button").click(function() { 
    var ipUserId = "abc"; 
    callPage(document.getElementById("subPage1").href + "/?", { 
    user: ipUserId 
    }) 
}) 

jsfiddle https://jsfiddle.net/re44fzr6/

Verwandte Themen