onClick イベントが発生したときに呼び出す次の基本的な JavaScript 関数があります。
function testMe() {
var oForm = document.forms["ExampleForm"]["First Name"].value;
console.log(oForm);
if (oForm == "") {
window.alert("This is a test");
}
return false;
}
ただし、ボタンをクリックするたびにCannot read property "First Name" of undefined javascript
、コンソールにエラーが表示されます。フォーム要素First Name
が存在し、フォーム名を実行しますExampleForm
私は何を見落としているか、間違っていますか?
編集 0
http://jsfiddle.net/3Ayd8で実行している例は機能しますが、内部 Web サイトのページで同じコードを実行すると機能しません。
編集1
ここに出力がありますconsole.log(document.forms)
<form method="post" action="sample.aspx" id="form">
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form'];
if (!theForm) {
theForm = document.form;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
function NewDocument(parentNodeId, classId){
if (parent != window) {
parent.NewDocument(parentNodeId, classId);
} else {
window.top.document.location = '/default.aspx?section=content&action=new&nodeid=' + parentNodeId + '&classid=' + classId;
}
}
function NotAllowed(action){
if (parent != window) {
parent.NotAllowed('', action);
} else {
window.top.document.location = '/default.aspx?section=content&action=notallowed&subaction=' + action;
}
}
function DeleteDocument(nodeId) {
if (parent != window) {
parent.DeleteDocument(nodeId);
} else {
window.top.document.location = '/default.aspx?section=content&action=delete&nodeid=' + nodeId;
}
}
function EditDocument(nodeId) {
if (parent != window) {
parent.EditDocument(nodeId);
} else {
window.top.document.location = '//default.aspx?section=content&action=edit&nodeid=' + nodeId;
}
}
//]]>
<input type="hidden" name="vmode" id="vmode" value="2">
</div>
<script src="/GetResource.ashx?scriptfile=%2fCMSScripts%2fcmsedit.js" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=aK015nKOf8Jw44OCiklcSydFiWaSIB9l6ZwdCQaMAWlevtaFiOw7Urzac1pIZ9Rs0&t=34d147fd" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=aK015nKOf8Jw44OCiklcSydFiWaSIB9l6ZwdCQaMAWm_idfkOBcdRXBrkc0cxAR10&t=34d147fd" type="text/javascript"></script>
<div class="aspNetHidden">
<input type="hidden" name="__SCROLLPOSITIONX" id="__SCROLLPOSITIONX" value="0">
<input type="hidden" name="__SCROLLPOSITIONY" id="__SCROLLPOSITIONY" value="0">
</div>
<div id="manPortal" style="background:none;">
<div id="CMSHeaderPad" style="height: 22px; line-height: 0px; "></div><div id="CMSHeaderDiv" style="position: fixed; top: 0px; left: 0px; right: 0px; bottom: auto; z-index: 10000; overflow: hidden; width: 100%; ">
<script type="text/javascript">
//<![CDATA[
if ( (parent != null) && (parent.IsCMSDesk) ) { infoElem = document.getElementById('manPortal_pnlPreviewInfo'); if (infoElem) {if ( infoElem.style ) { infoElem.style.display = 'none'; } else { infoElem.display = 'none'; } }}
//]]>
</script><!-- -->
</div>
</div><script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('manScript', 'form', [], [], [], 90, '');
//]]>
</script>
<script type="text/javascript" src="/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/jquery-ui-1.8.10.custom.min.js"></script>
<script type="text/javascript" src="/plugins.js"></script>
<script type="text/javascript" src="/script.js?v=0.4"></script>
<div class="zoneMainContent">
<div class="one-col-layout">
<div class="col-one">
<script type="text/javascript">
function testMe() {
console.log(document.forms);
console.log(document.getElementById("ExampleForm"));
return false;
}
</script>
<input id="FirstName" name="FirstName" type="text" value=""> <input name="submit" onclick="return testMe();" type="submit" value="submit">
</div>
</div>
<div style="clear:both;line-height:0px;height:0px;"></div>
</div>
</div></form>