0

我有一个 jquery 函数,用于检索用户在数据库表中单击的信息。用户可以选择十行中的任何一行,当鼠标悬停时,当用户单击突出显示的行时,该函数会检索它并将其放入文本框中. 然后,如果用户提交此购买请求,我想在下一页上回显文本框,这是一个订单。

在我尝试从 url 检索信息之前,下面的代码运行良好。我可以看到它在 url 中传递到下一页,但尝试了两天后我无法检索它。我不知道从这里去哪里。有人可以看看这个,看看我是否没有正确编码或做错了什么。我已经复制了适用的代码...

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">


$(document).ready(function(){
  $("table tr").click(function(){
       $("#txttread").val($.map($(this).children('td:not(:eq(7))'), function (item) { return $(item).text() }).join(' - '));
  });
});


$(document).ready(function() {

    $('.pickme tr').not(':first').hover(
        function() { $(this).addClass('highlight'); },
        function() { $(this).removeClass('highlight'); }
    ).click( function() {
        $('.selected').removeClass('selected');
        $(this).addClass('selected').find('input').attr('checked','checked');
    });
});


</script>
</head>
<body>
<form action="Order.html" method="GET" name="myform2" />



<div>
<div style="text-align:left height:250px;">
<DIV STYLE="font-family: Arial Black;
color: black; font-size: 20pt;">

Select from inventory below:<br/><input type="text" style="width:500px; height:35px;" rows="1" STYLE="font-family: Arial Black;
color: red; font-size: 20pt;" name="txttread" id="txttread" DISABLED /></div></div></div>
<div>
<div style="text-align:center;">



<br/><input type="button" button id="getone" name="getone" value="Submit your request for purchase" onclick="window.location.href = 'http://localhost/order.html?txttread='+ ( $('#txttread').val() )"><br/><hr/>
</body>
</html>

下一页的网址是......

    http://localhost/order.html?txttread=Firestone - All Season - FR-710 - 225/60/16 - 4 - 3 - 60.00
4

2 回答 2

1

这可能无法完全回答您的问题,但请考虑一下:

window.location.href = 'http://localhost/order.html?txttread='+ ( $('#txttread').val() )

传递参数时应该应用适当的转义:

window.location.href = 'http://localhost/order.html?txttread=' + encodeURIComponent( $('#txttread').val() );

txttread要从HTML 页面访问 的值:

function getParameterByName(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.search);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

如此处发现:https ://stackoverflow.com/a/901144/1338292

于 2012-06-02T15:02:09.160 回答
1

我认为这与未正确编码的 URL 有关。在你附加 的最后一行$('#txttread').val(),你应该用encodeURIComponent():

<input type="button" 
       button id="getone" 
       name="getone" 
       value="Submit your request for purchase" 
       onclick="window.location.href = 'http://localhost/order.html?txttread=' + encodeURIComponent($('#txttread').val());">
于 2012-06-02T15:05:00.870 回答