Dokument.getElementById('id').Wert scheitern ASP.net javascript-Funktion
Versteckte Felder:
<input type="hidden" id="hidOrg1" runat="server" value="" />
<input type="hidden" id="hidBT" runat="server" value="" />
javascript-Funktion:
function doGetWave(obj) {
//debugger
var brk = document.getElementById('hidBT').value;
//var brkId = document.getElementById('hidBI').value;
var org = document.getElementById('hidOrg1').value;
session = obj.options[obj.selectedIndex].value;
sWaveText = obj.options[obj.selectedIndex].text;
if (brk == "") {
window.location.href = "url.aspx?multiple=" + org + "&wave=" + sWaveText + "&strORGId=multiple";
}
else {
window.location.href = "url.aspx?multiple=" + org + "&wave=" + sWaveText + "&BRKType=" + brk + "&strORGId=multiple";
}
}
codebehind:
protected void Page_Load(object sender, EventArgs e)
{
hidOrg1.Value = strOrgId;
hidBT.Value = "";
}
Die javascript-Funktion Fehler mit "Objekt Erwartet" bei der var brk = ... und ich kann nicht herausfinden, wo es schief läuft. Mein Haar ziehen! 🙁
- Keine chance
doGetWave
wird immer aufgerufen, bevor die versteckten Felder gemacht haben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie
runat="server"
in einer standard-HTML-tag, ASP.Net mangles die ID, um sicherzustellen, dass es einzigartig (so wie es mit eigenen Kontrollen). Sie benötigen Zugriff auf das element mit der ID, die ASP.Net zugewiesen. Versuchen Sie dies:Zusätzliche Informationen
Wenn Sie mit dem 4.0-framework, können Sie dieses Verhalten ändern, an die element -, Seiten-oder Anwendungsebene. Check-out dieser link für ein anständiges kleines tutorial. Wenn Sie festlegen, dass der
ClientIdMode
zuStatic
können Sie den Zugriff auf Ihre Elemente anhand der ID, die Sie ursprünglich zugewiesen (werden nicht geändert).