【问题标题】:How to set param tag value of applet using JavaScript variables?如何使用 JavaScript 变量设置小程序的参数标签值?
【发布时间】:2014-10-24 10:58:00
【问题描述】:

这是我的名为 myJs.js 的外部 JavaScript

function search(){
    var hint = document.getElementById("sChoice").value;
    var item = document.getElementById("sKey").value;
    document.getElementById("c").value=hint;
    document.getElementById("iK").value=item;
}

这是我的html主页

 <script src="myJs.js"></script>
    <form name="data" action="sResult.html" method="get">
    <label>Select your Method use to search</label><br>
    <select id="sChoice">
        <option value="book">By Book Name</option>
        <option value="author">By Author Name</option>
        <option value="subject">By Subject Name</option>
    </select>
    <input type="text" id="sKey"><button onClick="search()">Search</button></br></br>
</form>

此代码位于另一个名为“sResult.html”的 html 文档中

<script src="myJs.js"></script>
<form name="data" action="sResult.html" method="get">
    <caption>
        <applet code="SearchResult.class">
            <param name="choice" id="c" value="&{hint};">
            <param name="itemKey" id="iK" value="&{item};">
        </applet>
    </caption>
</form>

我的问题是我无法在运行时通过 JavaScript 获取传递给 param 标记的值,在我用户 "getPrameter("choice")""getParameter("itemKey")" 的小程序中,它接收到 NULL 值。

【问题讨论】:

  • 你能展示你的applet init() 方法吗? getParameter 必须在 init() 内
  • 'public void init(){ search= getParameter("choice");键= getParameter("itemKey"); ......我剩下的代码在这里。 }'
  • 好的,然后尝试将手动编码的字符串作为参数传递并检查它是否在小程序中可用。如果是,那么问题出在您的值设置代码上。
  • 是的,我已经完成了交叉检查它的工作原理......然后我在这个网站上搜索查询我发现了一些其他面临同样问题的问题并且问题得到了其他人的建议解决,我尝试了这个建议但是那么我的问题也没有得到解决。
  • 我已经更新了我的答案,检查一下。

标签: javascript html deployment applet


【解决方案1】:

HTML5 不支持applet 标签,所以我建议你改用object 标签。喜欢:

HTML:

<object type="application/x-java-applet" height="400" width="644" >
<param name="code" value="sample.package.Sample.class">//class name including the package name where your applet main defined
<param name="archive" value="external libs">//path to external libs if any
<param name="param1" value="value1">
<param name="paramN" value="valueN">
Applet failed to run.  No Java plug-in was found.//if browser does not support java
</object>

示例.java:

package sample.package;

public class Sample extends Applet{

@Override

public void init(){
String param1=getParameter("param1");
}

}

更新:

如果您使用JavaScript 设置param value,则需要将JavaScript variables 声明为全局:

<script>
var hint="";
function search(){
hint = document.getElementById("sChoice").value;
}
</script>

您需要将hint 声明为全局,并在search() 函数内更新它。您不需要设置参数值。从您的代码中删除这些行

document.getElementById("c").value=hint;
document.getElementById("iK").value=item;

完整的 JavaScript 应该是:

<script>

var hint="";
var item="";

function search(){
    hint = document.getElementById("sChoice").value;
    item = document.getElementById("sKey").value;
}

</script>

【讨论】:

  • @AmeyaM.Sawant 另外,您需要在第一个 html 文件中包含第二个 html。
  • 抱歉,它仍然无法正常工作。为了测试,我做同样的事情,但我没有将值设置为 param 标签,而是将其设置为 textarea,它甚至不起作用。
  • 谁能给我一个包含这三个文件的示例代码。
  • 非常感谢@Nishad Nichoos 参与解决我的问题。在了解了许多可能的原因后,我使用了 JQuery,我的问题得到了解决。感谢 stackoverflow 和 Nishad Nichoos。希望将来我能在这里得到很多问题的解决方案。
  • 对不起,我把你的名字穿了。尼沙德·艾哈迈德
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多