Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在javascript中获取表单元素值并使用这些值创建url_Php_Javascript_Forms - Fatal编程技术网

Php 如何在javascript中获取表单元素值并使用这些值创建url

Php 如何在javascript中获取表单元素值并使用这些值创建url,php,javascript,forms,Php,Javascript,Forms,例如,我有一个表格: <form name='myform' id='myformid'> <input type='text' name='name' id='name'> <input type='text' name='color' id='color'> <input type='text' name='made' id='made'> <input type='submit' name='submit'>

例如,我有一个表格:

<form name='myform' id='myformid'>

  <input type='text' name='name' id='name'>
  <input type='text' name='color' id='color'>
  <input type='text' name='made' id='made'>

  <input type='submit' name='submit'>

</form>
如何创建这个JS函数

谢谢

函数getValues(){
var form=document.getElementById('myformid');
var url='example.com/search.php?';
对于(var i=0;i0?'&':'')+element.name+'='+element.value;
//更新
url++=(i>0?'&':'')+encodeURIComponent(element.name)+'='+encodeURIComponent(element.value);
}
返回url;
}

使用MochiKit库,您可以使用:

资料来源:

这与来自同一库的“querystring”函数一起使用:

您可以有一个简单的解决方案:

window.location.href = 'example.com/search.php?' + queryString(formContents(getElement('myformid')))

函数myFunction(){
var name=document.myform.name.value;
var color=document.myform.color.value;
var made=document.myform.made.value;
警报('example.com/search.php?name='+name+'&color='+color+'&made='+made');
}

我知道您需要一个javascript功能,但是如果您想在提交后发送请求,这种方式可能更好:

<form name='myform' action='search.php' method='get'>
  <input type='text' name='name' />
  <input type='text' name='color' />
  <input type='text' name='made' />
  <input type='submit' />
</form>


如果表单标签可以提供您所需的一切,为什么要使用JavaScript执行此操作?你想验证内容吗?我需要这个。我想知道这个。你不知道我在哪里用这个。你不知道我想学什么。我用简单的例子写一个简单的问题来得到答案。不管怎样,谢谢你的关心。@Awan-根据经验,如果某人不知道如何做某事,那么他们很有可能无法判断是否应该做某事。对试图帮助你的人大喊大叫“不要问我!”会给你带来不好的印象,也会失去获得如何更好地解决问题建议的机会。不要试图通过将任意字符串组合在一起来构建URI。您是对的,encodeURIComponent(值)应该足够了,因为您也需要对名称进行编码(至少在一般情况下是这样)。我有一个问题。我的实际表单有一些下拉列表。它正在为URL中的这些元素编写数组。如何解决这个问题。。任何解决方案??它给我的结果是这样的
?Array=toyota&Array=red&Array=abc
为什么在那里有一个名为
javascript:
?它什么也没做。而且你没能逃出你正在粉碎成URL的数据。我不能使用任何库。我需要简单的javascript。谢谢,我理解。只需注意,例如,MochiKit负责未定义encodeURIComponent的浏览器。当您让其他人将所有复杂的部分打包到库中时,JavaScript会更简单。@EoghanM-现在有哪些不支持encodeURIComponent的浏览器值得关注?(甚至5年前)编码元件在ECMA-262 ed 3中,所以只有12岁。任何如此陈旧以至于不支持它的浏览器在今天的web上都是毫无用处的。为什么要使用XML样式的标记?如果需要有效的标记,还需要表单中的块元素来包装表单控件。但浏览器会容忍它的缺失。
window.location.href = 'example.com/search.php?' + queryString(formContents(getElement('myformid')))
<script>

function myFunction() {
    var name=document.myform.name.value;
    var color=document.myform.color.value;
    var made=document.myform.made.value;

    alert('example.com/search.php?name='+name+'&color='+color+'&made='+made);

}

</script>

<form name='myform' id='myformid' onSubmit='javascript:myFunction()'>

  <input type='text' name='name' id='name'>
  <input type='text' name='color' id='color'>
  <input type='text' name='made' id='made'>

  <input type='submit' name='submit'>

</form>
<form name='myform' action='search.php' method='get'>
  <input type='text' name='name' />
  <input type='text' name='color' />
  <input type='text' name='made' />
  <input type='submit' />
</form>