Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 else语句未将内容添加到textarea_Php_Javascript_Jquery - Fatal编程技术网

Php else语句未将内容添加到textarea

Php else语句未将内容添加到textarea,php,javascript,jquery,Php,Javascript,Jquery,我在下面有一个函数,当单击“添加”按钮将内容添加到单个文本区域时,if语句在该函数中起作用: 问题是else语句在添加一个附加文本区域内的内容时不起作用。我想要的是,如果用户单击加号按钮并通过单击“添加”按钮添加内容,则与单击的加号按钮位于同一行的文本区域将添加内容。要执行此操作,我需要更改什么 下面是显示附加的文本区域和加号按钮的代码: var plusbutton_clicked; function insertQuestion(form) { var $tbody = $(

我在下面有一个函数,当单击“添加”按钮将内容添加到单个文本区域时,if语句在该函数中起作用:

问题是else语句在添加一个附加文本区域内的内容时不起作用。我想要的是,如果用户单击加号按钮并通过单击“添加”按钮添加内容,则与单击的加号按钮位于同一行的文本区域将添加内容。要执行此操作,我需要更改什么

下面是显示附加的文本区域和加号按钮的代码:

    var plusbutton_clicked;

 function insertQuestion(form) {


var $tbody = $('#qandatbl > tbody'); 
var $tr = $("<tr class='optionAndAnswer' align='center'></tr>");
var $plusrow = $("<td class='plusrow'></td>");
var $question = $("<td class='question'></td>");


 $('.questionTextArea').each( function() {

 var $this = $(this);
var $questionText = $("<textarea class='textAreaQuestion'></textarea>").attr('name',$this.attr('name')+"[]")
.attr('value',$this.val());

 $question.append($questionText);

});

 $('.plusimage').each( function() {

var $this = $(this);
var $plusimagerow = $("<a onclick='return plusbutton();'><img src='Images/plussign.jpg' width='30' height='30' alt='Look Up Previous Question' class='imageplus'/></a>").attr('name',$this.attr('name')+"[]")
.attr('value',$this.val());

$plusrow.append($plusimagerow);

 });

$tr.append($plusrow);
$tr.append($question);
$tbody.append($tr);                     

}
var plusbutton_单击;
函数插入问题(表格){
变量$tbody=$(“#qanadbl>tbody”);
var$tr=$(“”);
变量$plusrow=$(“”);
var$question=$(“”);
$('.questionTextArea')。每个(函数(){
var$this=$(this);
var$questionText=$(“”).attr('name',$this.attr('name')+“[]))
.attr('value',$this.val());
$question.append($questionText);
});
$('.plusimage')。每个(函数(){
var$this=$(this);
var$plusimagerow=$(“。请按照以下步骤使用该应用程序:

  • 单击“添加问题”按钮,然后将在新行中添加文本区域
  • 单击刚刚添加的表格行中的“绿色加号”按钮,将出现一个模式窗口
  • 在模式窗口中,它显示一个搜索栏,在搜索栏中键入“AAA”并单击“搜索”按钮
  • 搜索结果将显示,单击“添加”按钮添加一行。您将发现模式窗口已关闭,但“问题”字段的内容未添加到您单击绿色加号按钮的行的文本区域中
  • 如果您在顶部textarea(水平线上方的区域)中执行了这些步骤,那么它确实有效,但对于您刚刚添加的textarea,它不起作用。

    您的一个错误:

    $('.plusimage').live('click', function() {
        plusbutton($(this));
    });
    
    您正在页面中使用jQuery 1.7,自从jQuery
    1.7
    以来,
    .live
    方法已被弃用。您应该改用
    .on

    您还在生成的链接中触发
    plusbutton
    功能:

    <a value="" name="plusbuttonrow[]" onclick="return plusbutton();">
    
    
    
    它不会将任何元素作为参数传递给您的
    plusbutton
    函数,并存储在您所期望的全局变量
    plusbutton\u单击的
    中。此时没有对单击的元素的引用,因此在
    addwindow
    中使用单击的
    plusbutton\u
    var时,它找不到任何元素行动

    保持
    .on
    方法或上面的
    onclick
    调用,以防止函数被触发两次


    可能还有其他错误(例如,您正在检查动态生成的元素不存在的id属性),但这是主要问题。另外,我想知道你是否没有完成这项工作的最后期限,这是我在过去三周内第十次看到这个问题。至少你取得了一些进展,恭喜。

    为什么要使用
    $(this.val()
    $(this.attr('value',/*something*/)
    而不是
    此.value
    ?“value”的作用是,如果用户在单个文本区域中输入文本,然后单击“添加问题”“按钮,它将在添加的下一个文本区域中添加该文本。这与我在这里所做的完全不同,我没有在上面包含显示该文本的代码。如果没有“值”,则当用户单击“添加问题”时,它将始终显示空白文本区域”,即使在textarea中输入了文本我包含了应用程序的URL以便您可以自己查看我发现如果我将.live函数更改为.on,那么它根本不会向单个textarea添加任何内容,而在此之前,我需要.live()函数。我还尝试添加与上面相同的函数,但将其更改为.imageplus,以查看它是否适用于动态文本区域,但仍然无法更改
    $('.plusimage').live('click'
    by
    $('.plusimage')。on('click'
    将不会打开模式?没有多大意义,但无论如何,
    plusbutton()
    被调用了两次,而
    中的调用没有传递任何参数。请尝试删除链接“
    onclick
    ,并向其添加
    href=”#“
    var$plusimagrow=$(“
    ,如果您的
    .live
    正在工作,当您单击图像并打开模式时,它将触发。检查是否有任何区别。如果我按照您所说的做,那么当我单击其中一行中的图像按钮时,它不会打开模式窗口。它只会打开属于顶部文本区域的图像按钮
    $('.plusimage').live('click', function() {
        plusbutton($(this));
    });
    
    <a value="" name="plusbuttonrow[]" onclick="return plusbutton();">