webForumDet fria alternativet

hämta värde från <input> med jquery?

12 svar · 598 visningar · startad av evilaid

evilaidMedlem sedan apr. 2009433 inlägg
#1

Hej

Trasslar lite och jag ser itne varför??

      !function () {
       $("#copyButton").colorbox({href: "copy.asp?randVal=<%=MyRandomNum %>&orid=<%=request.querystring("orid") %>&ordernumber="+ $("#newOrdernumber").val() +""});
       } ();

Vad jag vill få ut här är att hämta värdet från en text box.. Id på textboxen är newOrdernumber..

Någon som ser fel i koden ovan??

lite asp med i koden men den biten funkar, problemet blir när jag vill hänga på det sista från inputfältet..
Tack på förhand..

GildebrandMedlem sedan juni 2009920 inlägg
#2

Svara från telefonen så blir kortfattat, men

(function () { $("#copyButton").colorbox({href: "copy.asp?randVal=<%=MyRandomNum %>&orid=<%=request.query}) ();
evilaidMedlem sedan apr. 2009433 inlägg
#3

tack för försöket men måste blivit lite fel där va? Försvann en del där?

;)

voigtann1Medlem sedan juni 20019 519 inlägg
#4

Finns den i DOM:en när du försöker hämta datan?

Du behöver aldrig sätta + "", detta är fel, varför vill du bygga vidare på en sträng genom att lägga in en tom sträng ytterligare?

Eftersom du inte berätta när din kod körs eller om den nu inte finns i DOM:en än så ändra din anonyma metod till jquerys-domReady metod:

$(function () {
	$("#copyButton").colorbox({
		href: "copy.asp?randVal=<%=MyRandomNum %>&orid=<%=request.querystring("orid") %>&ordernumber="+ $("#newOrdernumber").val()});
});
evilaidMedlem sedan apr. 2009433 inlägg
#5

oj, förlåt..

Jag antar att input fältet finns i Dom'en.. Js koden har jag lagt sist på sidan så objekten på sidan är ju redan utskrivna..

Nja det är så att användare fyller i vissa inputfält, dessa vill jag sedan få med när jag fyller min "colorbox" med filen copy.asp :)

Vad innebär

din anonyma metod till jquerys-domReady metod:

Går det inte få det att funka på detta sättet? Anledningen till +"" var en rest för att jag skulle fortsätta bygga på strängen, men det fungerar inte även om man tar bort det och kör enligt din beskrivning?

voigtann1Medlem sedan juni 20019 519 inlägg
#6

ah, nu hänger jag med... det bli ju svårare att lösa, eftersom du har bundit ett plugin redan med vad ditt inputfält hade för värde.

anropar $.colorbox direkt på $("#copyButton").click() istället:

$(function () {
	$("#copyButton").click(function(e){
		e.preventDefault();
		$.colorbox({
			href: "copy.asp?randVal=<%=MyRandomNum %>&orid=<%=request.querystring("orid") %>&ordernumber="+ $("#newOrdernumber").val()
		});
	});
});
evilaidMedlem sedan apr. 2009433 inlägg
#7

Du är ju någon JQ guru! Sjukt att du kan allt det här!

Jag fattar inte vad skillnaden är, varför jag inte fick något värde innan. Det funkade ju itne ens om jag använde getElementById() ??

HUr ska man göra snyggast nu då om jag vill validera fälten också och se så de har en viss längd och bara innehåller värden?

Stort tack för lösning!

voigtann1Medlem sedan juni 20019 519 inlägg
#8

Jag fattar inte vad skillnaden är, varför jag inte fick något värde innan. Det funkade ju itne ens om jag använde getElementById() ??

Du fick ju ett värde... ett tomt värde då så fort du läser js koden så hämtar den ut vad som står i $("#newOrdernumber") när du körde pluginet, ett exempel:

var url = 'webforum';
var newUrl = url+'.nu';
url = 'www.webforum.nu';

alert(newUrl) //'webforum.nu'

När du läser in plugin:et så har #newOrdernumber värdet '' och det är det som skrivs till plugin:et, antingen få du uppdatera plugin:ets inläsning varje gång du gör en ändring i #newOrdernumber eller så gjorde du som jag och hade lite tur att pluginet hade en egen kod för att kunna köra plugin:et löst utan att vara bunden till en jQuery Referens.

HUr ska man göra snyggast nu då om jag vill validera fälten också och se så de har en viss längd och bara innehåller värden?

Förstå inte riktigt vad du menar, men change/keyup på #newOrdernumber kan säkert lösa det. Eller skall den inte visa polypen om den inte ha en specifik längd?

evilaidMedlem sedan apr. 2009433 inlägg
#9

Okey, lite grekiska men jag ska jobba på att haja det..
Som du skriver, när jag kör pluginet så läser den värdet i $("#newOrdernumber") , men även fast fältet innehåller ett värde så fick jag ju inte ut något?

JO jag tänkte att pluginet skall inte anropas om inte alla tre fälten är rätt ifyllda, ex första fältet skall innehålla 6 siffror, andra ska innehålla 1-2 siffror och tredje skall innehålla 4 siffror och alltid börja med 11...

Hur gör man för att kontrollera fälten på bästa sätt..

voigtann1Medlem sedan juni 20019 519 inlägg
#10

Vilka tre fält? Du få nog bidra med lite kod För att man skall kunna hjälpa dig, vad händer on du inte skulle ha de där tre fältet ifyllda och man trycker på knappen?

evilaidMedlem sedan apr. 2009433 inlägg
#11

Jag var itne med på varför min kod:

 !function () {
       $("#copyButton").colorbox({href: "copy.asp?randVal=<%=MyRandomNum %>&orid=<%=request.querystring("orid") %>&ordernumber="+ $("#newOrdernumber").val() +""});
       } ();

Inte fungerar, medans att din gick med:

$(function () {
	$("#copyButton").click(function(e){
		e.preventDefault();
		$.colorbox({
			href: "copy.asp?randVal=<%=MyRandomNum %>&orid=<%=request.querystring("orid") %>&ordernumber="+ $("#newOrdernumber").val()
		});
	});
});

Men menar du att när hela sidan laddas in så är ju input fältet tomt och att det är det värdet (tomma värdet) som skickas med pluginet?
Pluginet fungerar ju så att när jag klickar på det objekt som har samma "id" som jag angivit till pluginet aktiveras det och visar en box..

Så :

<input type="text" id="newOrdernumber">
<input type="button" id="copyButton">
 !function () {
       $("#copyButton").colorbox({href: "copy.asp?randVal=<%=MyRandomNum %>&orid=<%=request.querystring("orid") %>&ordernumber="+ $("#newOrdernumber").val() +""});
       } ();

Så jag förstår inte, efter som pluginet anropas när jag klickar på knappen med id "copyButton" så ska boxen visas. varför hämtas inte samtidigt värdet från textfältet med id'et "newOrdernumber"??

Nu kanske jag rör lite för mycket...

voigtann1Medlem sedan juni 20019 519 inlägg
#12

Din kod binder ett plugin så fort sidan laddas och skriver in vilken URL som den skall köra, den är låst, medan min kod kolla varje gång du trycker på knappen vad #newOrdernumber har för värde just nu och bygger ihop strängen för url:en den skall presentera.

evilaidMedlem sedan apr. 2009433 inlägg
#13

Solklart! du har ju med click attributet..

Ursäkta att jag är lite trög!!

tackar

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)