-4

这是我在 JavaScript 中的代码,我想创建 innerhtml 按钮,它将填充我的 html 表单中的一些隐藏字段,当我尝试填充 AirportsForm.kod 变量时,我可能遇到引号问题......

function EditTableCell(a)
{
    var Myp= document.getElementById(a);
    var nam=Myp.textContent;
    var kod=Myp.id;
    alert(kod);
    var newHTML='<p id="'+a+'"><input size="35" type="text" name="edit'+a+'" id="edit'+a+'" value="'+nam+'" /><input type="button" value="Change" onclick="document.AirportsForm.kod.value='+"'a'"+'.value;document.AirportsForm.promena.value=document.AirportsForm.edit'+a+'.value;document.AirportsForm.submit();"/></p>';
}

这是html:它的形式是AirportsForm

<input type="hidden" name="promena" id="promena" value="" />
<input type="hidden" name="kod" id="kod" value="" />

而在 PHP 中,我$variable=$_POST["kod"]为其他隐藏元素做。

4

3 回答 3

2

让它更干净一点......在里面调用一个函数onclick并在那里做你的步骤

var newHTML='<p id="'+a+'"><input size="35" type="text" name="edit'+a+'" id="edit'+a+'" value="'+nam+'" /><input type="button" value="Change" onclick="someFunction(\''+ a +'\')"/></p>';

function someFunction(a){
  document.AirportsForm.kod.value=a.value;
  document.AirportsForm.promena.value=document.AirportsForm.edita.value;
  document.AirportsForm.submit();
}
于 2012-12-14T10:33:29.493 回答
0

您可以使用 getAttribute() 函数将属性值更改为:

var kod=Myp.getAttribute('id');

更多阅读请点击这里

于 2012-12-14T10:33:31.007 回答
0

在这里我为你完成了它并且这种方式有效,因为你在这里得到一个 htmlObject 元素或输入元素你应该做它 object.id 或 value 或任何你想得到的东西,而不是以后使用它......

函数 EditTableCell(a) {

var Myp= document.getElementById(a);
var nam=Myp.textContent;
var newHTML='<p id="'+a+'"><input size="35" type="text" name="edit'+a+'" id="edit'+a+'" value="'+nam+'" /><input id="'+a+'" type="button" value="Change" onclick="document.AirportsForm.promena.value=document.AirportsForm.edit'+a+'.value;return subb(this);"/></p>';
Myp.innerHTML = newHTML;
Myp.onclick=null;
}
function subb(b)
 {
  document.AirportsForm.kod.value=b.id; 
    document.AirportsForm.submit();
 }
于 2012-12-14T11:13:22.633 回答