私はこのコードについて2つの問題に遭遇します:
「window.location.href='www.google.com';」を呼び出すと、別のWebサイトにリンクできません。javascriptクロージャで。
このコードはIEブラウザでは機能しません(送信ボタンは表示されません)
以下はコードです:
HTMLパーティション:([フォルダの作成]ボタンで制御される非表示のフォーム)
<a href="#" class="mylink" title="Create Folder" onClick="modalPopup(0);">Create folder</a>
<!-- modal content -->
<div id="modal-content">
<div id="modal-title"></div>
<div id="modal-text"></div>
<form name="input" action="" method="post">
<div id="modal-field"></div>
<input type="hidden" name="ID" id="ID">
<input type="hidden" name="submitButton" id="submitButton">
</form>
</div>
Javascriptパーティション:(フォームを表示して送信イベントを処理します)
function deleteNode( elementId )
{
var label=document.getElementById( elementId );
while ( label.hasChildNodes() )
{
label.removeChild( label.lastChild );
}
}
function sendRequest( type, param )
{
if ( type == "createFolder" )
{
alert('create folder : ' + param );
**window.location.href = "www.google.com"; // just for test, but not working !**
}
return false;
}
function modalPopup( fileID )
{
deleteNode("modal-title");
deleteNode("modal-text");
deleteNode("modal-field");
var titleObj = document.createElement("h3");
titleObj.innerText = "Create Folder";
titleObj.textContent = "Create Folder";
document.getElementById("modal-title").appendChild(titleObj);
var textObj = document.createElement("a");
textObj.innerText = "Enter new folder name";
textObj.textContent = "Enter new folder name";
document.getElementById("modal-text").appendChild(textObj);
var fieldObj = document.createElement("input");
fieldObj.setAttribute("type","input");
fieldObj.setAttribute("name","createFolder");
fieldObj.setAttribute("value","New Folder");
fieldObj.setAttribute("id","modal-field");
document.getElementById("modal-field").appendChild(fieldObj);
// assign text field value
document.getElementsByName('submitButton')[0].type = "submit";
document.getElementsByName('submitButton')[0].value = "Create";
**document.getElementsByName('submitButton')[0].onclick = function() { return sendRequest( "createFolder", fieldObj.value ); };**
document.getElementsByName('ID')[0].value = fileID;
}