Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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
Javascript 我有一个表单,在iframe中有单选按钮,将文本插入到父文本区域。“Undefined”出现在texarea,而不是单选按钮值_Javascript_Iframe_Radio Button_Onsubmit - Fatal编程技术网

Javascript 我有一个表单,在iframe中有单选按钮,将文本插入到父文本区域。“Undefined”出现在texarea,而不是单选按钮值

Javascript 我有一个表单,在iframe中有单选按钮,将文本插入到父文本区域。“Undefined”出现在texarea,而不是单选按钮值,javascript,iframe,radio-button,onsubmit,Javascript,Iframe,Radio Button,Onsubmit,如果我制作了一个表单,并添加了一个ONSUBMIT,它会将UNDEFINED作为父窗口textarea的答案,而不是所选RADIOBUTTON的值。我不想更改javascript,因为它可以很好地与具有onclick的值一起工作,但是是否可以让脚本与相同的脚本一起工作?或者我该怎么做才能让它工作 以下是我工作的一个例子: index.html: <html> <head> <meta http-equiv="Content-Type" content="tex

如果我制作了一个表单,并添加了一个ONSUBMIT,它会将UNDEFINED作为父窗口textarea的答案,而不是所选RADIOBUTTON的值。我不想更改javascript,因为它可以很好地与具有onclick的值一起工作,但是是否可以让脚本与相同的脚本一起工作?或者我该怎么做才能让它工作

以下是我工作的一个例子:

index.html:

<html>
<head>
  <meta http-equiv="Content-Type"
 content="text/html; charset=ISO-8859-1">
  <script type="text/javascript">
function hello(string){
// get the current text, add a newline if not blank, and append new
// text
var anchorText = document.getElementById('myAnchor').value;
if(anchorText !== "") anchorText += '\n';
anchorText += string;
document.getElementById('myAnchor').value=anchorText;
}
  </script>
  <title>joubadou</title>
</head>
<body>
<form>Cart<br>
  <br>
  <textarea rows="10" id="myAnchor"></textarea></form>
<iframe src="radiobuttontest.html" height="300"></iframe>
</body>
</html>
radiobuttontest.html:

<html>
<head>
  <title>Title</title>
  <meta http-equiv="Content-Type"
 content="text/html; charset=ISO-8859-1">
</head>
<body>
<br>
<form id="myForm" action="" method="get"
 onsubmit="parent.hello()">If
you want a blue
car you can choose<br>
  <br>
  <input name="sex" value="Bensin" checked="checked"
 type="radio">Bensin<br>
  <input name="sex" value="Diesel" type="radio">Diesel<br>
  <br>
  <input value="add to cart"
 onclick="parent.hello('Blue car')" type="submit"></form>
<br>
</body>
</html>

如果你能帮我,我会穿得很好

这是用户单击“添加到购物车”时发生的情况:

输入的onclick触发,并且anchorText的值为 改为“蓝色汽车”,传递给hello

onsubmit从表单中激发,anchorText的值为 已更改为未定义,因为未传递字符串

要解决此问题,只需从表单中删除onsubmit属性,并传递单选按钮而不是字符串,例如:

将此添加到hello:

然后按如下方式传递单选按钮:

<input value="add to cart" onclick="parent.hello(document.getElementsByName('sex'));" ... />
请注意,当字符串作为参数传递时,仍然可以使用hello来处理字符串


。这个提琴只是一个例子,展示了代码在一个文档中是如何工作的。

我只是不知道把它放在哪里,而且我在探索方面还没有运气,所以我必须问一下,hello的开头在哪里。我是个初学者,所以我不太清楚。我首先用safari打开了这个jaFiddle演示,我主要使用safari,但它不起作用。Still object NodeList取代了Bensin或Diesel,但后来我用Firefox打开了它,一切都很顺利。有没有办法让Safari也能用?谢谢你的耐心@卡胡,对不起,我对狩猎和安塔尔提斯一样熟悉,我不知道。。。似乎字符串是从循环中未加工出来的。也许将字符串重命名为str会有所帮助?您还可以在for..n循环中的if之前检查console.logstring[n]。
<input value="add to cart" onclick="parent.hello(document.getElementsByName('sex'));" ... />