【问题标题】:Form values in URLURL 中的表单值
【发布时间】:2013-03-26 08:00:22
【问题描述】:

我有一个函数可以将我的 URL 放在一起。它看起来像这样:

$url = "/BT_Mathys_LNr_export_0.1/services/BT_Mathys_LNr_export?method=runJob";
$i = 1
$('#myForm :input').each(function() {
  $inputName = $(this).attr('name');
  if ($inputName != 'submit') {
    $url = $url + "&arg"+$i+"=--context_param%20"+$inputName+"="+$(this).val();
    $i++
  };
});

该函数将输入字段中的值一起添加到我的 URL 中,并且到目前为止它运行良好。现在我必须在我的表单中添加一个<select> 并且还必须传递该值,就像我对输入字段中的值所做的那样。

如何在代码中添加我来自 <select> 的值也将作为参数包含在 URL 中,就像输入字段一样?

【问题讨论】:

  • 你为什么不用 GET 方法使用表单
  • 看起来您正在将用户输入传递给命令行应用程序,如果是这样,可能会出现严重问题,即不清理服务器端的数据。我建议在清理输入后正常提交表单并在服务器上构建参数。

标签: javascript function url parameters


【解决方案1】:

你为什么不使用 jQuery 来做到这一点:$("#your_form").serialize();

【讨论】:

  • 如果你查看他的代码,你会发现 serialize() 不会产生他想要的格式。
  • 如果你想添加一个<select>控件,序列化可能不起作用,解决方法我认为你应该添加一个隐藏字段来存储select的选定选项,serialize()会做为你休息。
  • 我也在想我可以在选择之后创建一个隐藏的输入字段并将选择的值添加到输入字段。然后我不必更改脚本中的任何内容,因为它像现在一样工作正常。问题是我不知道如何将选择中选择的值传递给我的隐藏输入字段?你能帮我解决这个问题吗..
  • 你可以试试这个:$("#hidden").val($("select option:selected").val());
  • 谢谢,但我是一个真正的菜鸟,仍然不知道我应该把这个放在哪里 $("#hidden").val($("select option:selected").val()); :D
【解决方案2】:

如果您想添加<select> 控件,序列化可能不起作用,解决方法我认为您应该添加一个隐藏字段来存储选择的选定选项,serialize() 将为您完成剩下的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2021-06-25
    • 2013-04-20
    • 2021-07-29
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    相关资源
    最近更新 更多