将输入字段值附加到.cshtml页面上的URL

时间:2017-09-13 01:53:04

标签: javascript c# html

我的.cshtml页面中有一个SSRS报告的链接:

<div class="col-md-8">
  <a href="http://xxx.xx.xx.x/ReportServer/Pages/ReportViewer.aspx?%2fCompany_Reporting%2fpayr0001&rs:Command=Render&StartDate=01/09/2017" target="_blank" >Timesheet Status Report</a>
</div>

我需要将日期控件中的值作为参数传递,而不是上面的硬编码日期:

<div class="form-group">
  <input type="date" class="form-control" id="datefrom">
</div>

我尝试在网址上添加onclick=myfunction()以添加日期值,但无法使其生效。

function getStartDate() {
    return document.getElementById("datefrom").value; 
}

非常感谢任何帮助。

干杯。

3 个答案:

答案 0 :(得分:1)

在日期更改属性上创建锚标记的href。随时随地建立href。

$('#datefrom').change(function(){
    $('#IdOfAnchorTag').attr('href','http://xxx.xx.xx.x/ReportServer/Pages/ReportViewer.aspx?%2fCompany_Reporting%2fpayr0001&rs:Command=Render&StartDate=' + $('#datefrom').val() );
});

相应检查字符串..

答案 1 :(得分:0)

据我所知,这是你要做的事情(重复问题?):
append to url and refresh page

要以正确的格式获取日期,您必须在功能正文中执行以下操作:
    new Date($('input[type=date]').val()).toLocaleFormat();

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat

此外,您可能希望对日期输入使用'onblur'/ blur事件,或者将事件处理函数连接到专门用于此目的的新按钮。这是因为onclick / click事件将在您单击日期输入时触发(可能会打开某种日历窗口小部件,具体取决于浏览器和浏览器版本)。

答案 2 :(得分:0)

在将日期值传递给网址之前,您尝试将日期转换为dd-MM-yyyyMM-dd-yyyy而不是dd/MM/YYYY。 因为我认为当url会误解“/”时所以你应该用“ - ”代替。 然后,如有必要,您可以转换回旧格式。