将按钮名称和值传递给另一个 JavaScript 页面

Passing button name&value to another JavaScript page

本文关键字:另一个 JavaScript 页面 值传 按钮      更新时间:2023-09-26

我需要检查是否点击了jsp页面中的按钮。

我有 1 个 jsp 页面和 2 个 JavaScript 页面。第一个JSP页面是一个索引,它从用户那里获取输入并发送到javascript1,javascript1然后查询它并输出回索引页面,每个输出上都嵌入了按钮。我想要的是,如果用户单击一个特定的按钮,javascript2 将检测该特定按钮的点击和获取值作为下一个搜索查询,并再次在索引页面上显示结果。

这是我的代码:

指数。.JSP

<div>Please enter search keyword</div>
<input type="text" name="valueLiteral" class="input-box"/><br>
<input type="submit" name="indexsearch" value="Search" class="input-button">

哪个javascript1将检测是否单击了输入名称"indexsearch",并获取值名称"valueLiteral"来查询结果。这部分工作得很好。

以下是 Javascript1.js 中的代码:

$(document).ready(function() {
$("#result").hide();
$("input[name='indexsearch']").click(function() {
    and so on.......
    var stmt = [];
          
     $.each(arrayPredicate, function(k,v){
     stmt[k] = "<span class='subject' id="+arraySubject[k]+">" + arraySubject[k] + "</span> " + " -> " + v + " : "+ "<span class='object'>" + arrayObject[k] + "</span>" + "**<input type = 'submit' class = 'searchAgain-button' name = 'searchMore' value = " + arrayObject[k] + "></input>**<br><br>";
     });
            stmt = stmt.sort();
            $.each(stmt, function(k,v){
                $("#result").append(v);
            });
        } else {
            var $noresult = "No Result : Please enter a query";
            $("#result").append($noresult);
        }
    });

如您所见,我创建了按钮并将其附加到每个搜索结果的末尾。这部分仍然有效(按钮出现并显示下一个查询的名称)。

这是代码的最后一部分:Javascript2.js:

    $(document).ready(function() {
    $("input[name='searchMore']").click(function() {
    
    $("#result").show();
    $("#result").empty();
    loading_img();
    var $textInput = $(this).attr("Value");
 
            var stmt = [];
            //concat all related array into string (create triple statement)
            $.each(arrayPredicate, function(k,v){
                stmt[k] = "<span class='subject' id="+arraySubject[k]+">" + arraySubject[k] + "</span> " + " -> " + v + " : "+ "<span class='object'>" + arrayObject[k] + "</span><input type = 'submit' class = 'searchAgain-button' name = 'searchMore' value = " + arrayObject[k] + "></input><br><br>";
            });
            stmt = stmt.sort();
            $.each(stmt, function(k,v){
                $("#result").append(v);
            });
        } else {
            var $noresult = "No Result : Please enter a query";
            $("#result").append($noresult);
        }
    });        
});

上面的代码不起作用,经过一些测试,我认为这个JavaScript页面无法检测到按钮名称"searchMore"。并最终使代码的其他部分不起作用。

有什么建议吗?

你试过吗

$("input[name='searchMore']").live("click", function() { ...

在http://api.jquery.com/live/

说明:为现在和将来与当前选择器匹配的所有元素附加事件处理程序。