私はJavaScriptとFaceletsのページで作業しています.
ここに私のコード:
<h:head>
<script type="text/javascript">
function transfer() {
alert(editor.getMolfile());
document.getElementById("strMol").value = editor.getMolfile();
var newVal=document.getElementById("strMol").value;
alert("new val"+newVal);
}
</script>
</h:head>
<h:body>
<h:form id="searchMoleculeForm">
<h:inputHidden name="strMol" id="strMol" value="#{search.strMol}" />
<rich:panel >
<f:facet name="header">
Search The Molecule
</f:facet>
<center>
<div id="editor"></div>
</center>
<center>
<h:commandButton value="substructure" action="#{search.subStructure}" onclick="transfer();" />
<h:commandButton value="exact_similar" action="#{search.exactSearch}" onclick="transfer();" />
<h:commandButton value="pharmacophore" action="#{search.pharmacore}" onclick="transfer();" />
<h:commandButton value="shape" action="#{search.shapeSearch}" onclick="transfer();" />
</center>
</rich:panel>
</h:form>
<script type='text/JavaScript'>
var editor = chemwriter.loadEditor('editor');
</script>
</h:body>
それは機能せず、ソースコードを表示すると、次のようなID「strMol」が付いた他のIDが表示されます:
<input id="pbG62d78562_2d4676_2d4b22_2d96b8_2d227d65ceaa9f_j_id1:searchMoleculeForm:strMol" type="hidden"
だから私はそのIDを中に入れました
document.getElementById("pbG62d78562_2d4676_2d4b22_2d96b8_2d227d65ceaa9f_j_id1:searchMoleculeForm:strMol")
そしてそれは働き始めました..
私の質問は、他の ID id はどこから来るのですか? どうすれば修正できますか?