0

getElementByid('projectsearch'+id)リンクをクリックしても動かない。これについて何ができるでしょうか?フォームが生成されるとすぐに、フォームの送信方法がわかりません。アイデアはありますか?

var i;
for (i = 0; i < data.data.length; ++i) {            
    console.log(i);
    var divCreator ='';

    var str='projectsearch' + i; 

    divCreator+='<div id="grupo'+i+'">';
    divCreator+='<div>';
    divCreator+='<div id="tipo_'+i+'"></div>';
    divCreator+='<div id="tipo_arq_abajo'+i+'"></div>';
    divCreator+='</div>';
    divCreator+='<div id="fotoproyectos'+i+'" ><img src="' + data.data[i].path + '" height="128" width="160"></div>';
    divCreator+='<div id="nombreproyectos'+i+'" ><form method="post" name="projectsearch'+i+'" id="projectsearch'+ i +'" action="proyectos_arq.php">';
    divCreator+='<span style="cursor: pointer;" onclick="document.getElementById('projectsearch'+id).submit()">"'+ data.data[i].projectName +'"</span>'
    divCreator+='<input name="project_id" type="hidden" id="project_id" value="' + data.data[i].projectId + '">';
    divCreator+='</form></div>';
    divCreator+='</div>';
    divCreator+='</div><br><br>';

    //$("#contiene-pro").append(divCreator);
    $("#testDiv").append(divCreator);
};
4

3 に答える 3

2

そうあるべきだと思う

document.getElementById('projectsearch'+i).submit() // not id...

引用符をエスケープする

作成したばかりのフォームを送信しようとしている場合...質問に「id」変数が見つからない場合...

于 2012-12-21T06:34:46.897 に答える
1

以下を作成します。

var str='projectsearch' + i; 

その後は絶対に使用しないでください。

あなたが持っているコードの後半で:

divCreator+='<span style="cursor: pointer;" onclick="document.getElementById('projectsearch'+id).submit()">"'+ data.data[i].projectName +'"</span>'

これは次のことを意味していると思います:

divCreator+='<span style="cursor: pointer;" onclick="document.getElementById(' + str + ').submit()">"'+ data.data[i].projectName +'"</span>';

str作成した変数をIDとして使用しますgetElementById()

于 2012-12-21T06:45:01.243 に答える
-1

コンソールで対応する div id を確認し、この構文を試して値を取得してください。

var element=  $("#projectsearch"+id);

また

var element=document.getElementById("projectsearch"+id);
于 2012-12-21T06:35:49.470 に答える